Differentiate between following terms with examples:(a) Abstraction and Encapsulation.(b) Function Overloading and Function Overriding.
Question
Differentiate between following terms with examples:(a) Abstraction and Encapsulation.(b) Function Overloading and Function Overriding.
Solution
(a) Abstraction and Encapsulation:
Abstraction is a process where you show only "relevant" data and "hide" unnecessary details of an object from the user. For example, when you login to your email, you enter your username and password and press login. What happens when you press login, how the system validates your username and password, etc. is all abstracted away from you.
Encapsulation is a process of combining data members (variables, properties) and member functions (methods) into a single unit called class. When you encapsulate a set of methods and variables, you are creating a capsule, which is used to hide the values or state of a structured data object inside a class, preventing unauthorized parties' direct access to them. For example, a capsule of medicine encapsulates several different drugs.
(b) Function Overloading and Function Overriding:
Function Overloading is a feature that allows us to have more than one function having the same name but different parameter list, when the number of parameters, sequence of parameters or types of parameters are different. For example, in a Math class, you might have multiple methods named "add" which could add two integers, three integers, two doubles, etc.
Function Overriding is a feature that allows a subclass or child class to provide a specific implementation of a method that is already provided by one of its super-classes or parent classes. When a method in a subclass has the same name, same parameters or signature and same return type(or sub-type) as a method in its super-class, then the method in the subclass is said to override the method in the super-class. For example, a Vehicle class might have a method "start" and subclasses like Car, Motorcycle, etc. could have their own implementation of "start".
Similar Questions
Which of these is supported by method overriding in Java?Select one:AbstractionEncapsulationPolymorphismNone of the mentioned
6. Distinguish between the following terms :-(a) Objects and classes(b) Inheritance and Polymorphism(c) Data Abstraction and Encapsulation
Which of the following is a correct example of operator overloading? Defining a function with the same name but different parameters Using the same operator for different operations Defining special methods for class operators Using decorators to overload operators
Describe Method Overloading and Method Overriding in a couple of sentences each
Which of the following can be overloaded?a.Both operators and functionsb.Objectc.Operatorsd.Functions
Upgrade your grade with Knowee
Get personalized homework help. Review tough concepts in more detail, or go deeper into your topic by exploring other relevant questions.