Inheritance and Refinement in Object-Oriented Programming

BullishDemantoid avatar

Start Quiz

Study Flashcards

10 Questions

What does the method PointIsAt() do?

Checks if a point is at the object

What is the primary purpose of Generalization in object-oriented programming?

Creating parent classes for code reuse

Why does Composition allow for including multiple copies of a type of object inside a class?

To enable code reuse

What does a relational database store data in?


Which type of database is the most popular?

Relational database

What is the main purpose of DATABASE DESIGN?

To produce a detailed data model of a database

Inheritance allows subclasses to _____ properties and behaviors from superclasses.


What is the primary difference between Composition and Inheritance?

Inheritance allows subclasses to extend superclasses, while Composition includes objects within objects.

What does a relational database store in records within tables?

Groups of data related by common attributes

What is the purpose of Company Class inheriting from Person Class in object-oriented programming?

To include contact person information in the Company Class

Study Notes

Object-Oriented (OO) Design

  • A class defines the general properties and behaviors for a set of objects.
  • An instance of a class is an object with the class's type.
  • Top classes that the application will use are defined at high-level design.
  • Identify main classes by looking for nouns in a description of the application's features.

Hierarchy and Inheritance

  • Inheritance supports hierarchical classification and provides code reuse.
  • A child class is derived from the parent class, inheriting properties, methods, and events.
  • Example: Yaris and Jazz are child classes of Car, inheriting properties, methods, and events.
  • Refinement is the process of breaking a parent class into multiple subclasses to capture differences between objects.


  • Refinement focuses on behavioral differences between classes.
  • Refined classes include properties, methods, and events.
  • Example: Automatic and Manual classes inherit Acceleration property from Car class.


  • Generalization extracts common features from two or more classes to define a parent class.
  • Example: ClassyDraw Application has classes such as Rectangle, Ellipse, Polygon, Text, Line, Star, and Hypotrochoid.

Low-Level Design

  • Low-level design focuses on "how" and defines refined classes including properties, methods, and events.
  • Properties define the information the class needs, methods define the actions the class needs to perform, and events define notifications.

Building Inheritance Hierarchies

  • Inheritance is a mechanism by which an object acquires properties, methods, and events of another object.
  • Generalization creates a parent class, and inheritance builds a hierarchy of subclasses.


  • Composition provides code reuse and allows including multiple copies of a type of object inside a class.
  • Example: Company class includes a Person object with FirstName, LastName, Address, and PhoneNumber properties.


  • A database is a collection of related information that is organized for easy access, management, and update.
  • Database design is the process of producing a detailed data model of a database.
  • Relational databases are simple and easy to use, providing tools for searching, combining data, and sorting results.

Explore the concepts of inheritance and refinement in object-oriented programming. Learn how child classes derive properties, methods, and events from a parent class. Understand the process of refinement by breaking a parent class into multiple subclasses to capture differences between objects.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free

More Quizzes Like This

Inheritance in Java Quiz
3 questions
Inheritance and Genetics
10 questions
Inheritance, Variation, and Evolution Quiz
10 questions
Use Quizgecko on...