Podcast
Questions and Answers
What is the primary purpose of a class in object-oriented programming?
What is the primary purpose of a class in object-oriented programming?
Which of the following access specifiers allows members to be accessed only by member functions of the class?
Which of the following access specifiers allows members to be accessed only by member functions of the class?
What keyword is used in an object-oriented programming language to create an instance of a class?
What keyword is used in an object-oriented programming language to create an instance of a class?
What is the correct way to access a method called setWidth
on an object r
of class Rectangle
?
What is the correct way to access a method called setWidth
on an object r
of class Rectangle
?
Signup and view all the answers
Which of the following statements about attributes in a class is true?
Which of the following statements about attributes in a class is true?
Signup and view all the answers
Study Notes
Data Structures and Algorithms ECE251 Tutorial 5
-
Object Oriented Programming (OOP): OOP is a programming paradigm that organizes software design around data, or objects, rather than functions or logic.
-
Classes and Objects:
- A class is like a blueprint, describing the characteristics and actions of an object.
- Objects are instances of a class, like houses built from a blueprint. Each house will be a unique object but share the same general construction and characteristics.
Object-Oriented Programming Terminology
- Attributes: Characteristics or properties of a class. These are the data members.
- Methods/Behaviors: Actions or functions that an object can perform. These are the actions and functions an object can do.
Access Specifiers
- Public: Members or methods accessible from outside the class.
- Private: Members or methods accessible only within the class itself.
- Protected: Members or methods accessible within the class and its derived classes (subclasses).
Class Example (Rectangle)
-
Private Members (hidden):
double width;
,double length;
These are the attributes/properties of the class and are not accessible from outside of the class. -
Public Members (accessible from outside of the class): Methods to work with
width
andlength
. Example:void setWidth(double);
,void setLength(double);
,double getWidth() const;
,double getLength() const;
,double getArea() const;
Defining an Instance of a Class
- Create an object (instance) of the class
Rectangle r;
- Access members using the dot operator
r.setWidth(5.2);
- Access private members by using a function call (cannot use dot operator).
Defining a Member Function
- Example:
int Rectangle::setWidth(double w) {width = w;}
- Use the class name and scope resolution operator (::).
- Put prototype of function in class declaration.
Using const with Member Functions
-
const
keyword in member functions ensures the function does not modify the object's data.
Program 13-1 (Example)
- Demonstrates creating a Rectangle class and calculating its area.
Avoiding Stale Data
- Some data is the result of a calculation (e.g., area of a rectangle).
- Avoid storing calculated values in separate variables; calculate them within member functions.
- Keep all associated data together in the same object. This helps manage changes and avoid stale values.
Constructors
- Member function automatically called when an object is created.
- Its name is the same as the class name.
- Has no return type.
- If a class doesn't include any constructors, a default constructor is automatically added that does nothing.
- The constructor initializes an object's attributes(value).
Passing Arguments to Constructors
- To create a constructor that takes arguments, you specify parameters in the prototype and definition of the constructor.
-
Rectangle r(10, 5);
is an example of how to initialize values using the constructor.
Overloading Constructors
- A class can have multiple constructors.
- Overloaded constructors need different parameter lists.
Dynamically Allocating an Object
- Use the
new
keyword to create an object on the heap. - Use a pointer to access the newly created object.
- Use the
delete
keyword to release the dynamically allocated memory.
Destructors
- Member function automatically called when an object is destroyed.
- Name:
~ClassName
. - Has no return type.
Arrays of Objects
- Objects can be elements of an array.
- The default constructor is used if you don't specify an initializer list.
- If you use an initializer list, you must invoke a constructor that takes arguments.
- Example:
InventoryItem inventory[3] { "Hammer", "Wrench", "Pliers" };
- Example:
- For constructors that require more than one argument, use the format of a function call in the initialization list
InventoryItem inventory[3]{...}
.
Accessing Objects in an Array
- Use array indexing (subscripts) to access objects within an array.
- Use dot notation to access member functions.
- Example:
inventory[2].setUnits(30);
- Example:
Inheritance
- A class can inherit properties and methods from another class.
- The child class inherits/uses characteristics and methods of the parent class.
Encapsulation
- Mechanism for hiding internal object data.
- Access to data is limited to methods.
Abstraction
- Hiding complexity, exposing only necessary parts.
- Simplifies interactions. A good example of abstraction is using a TV remote to control the TV.
Polymorphism
- Methods with the same name can have different implementations.
- The implementation is specific to the type of object.
Question (Program Example)
- Object-oriented program to store employee details (name, birth year, experience) and calculate age.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
This quiz covers key concepts from Object-Oriented Programming, focusing primarily on classes, objects, attributes, methods, and access specifiers. Understand the principles of OOP and how they are applied in software design. Test your knowledge of the terminologies and their functionalities within the context of ECE251.