💻Step 15:Oops- 3rd Concept: Abstraction: 10th hour + code

Learn with youtube video –

💡Definition-

Abstraction is a concept of showing only functionality and hiding procedure.

In java, only name of method is given and not the body.

-Abstraction can be applied on classes and methods using abstract keyword.

– In abstraction we focus on “what” the object does instead of “how”.

Quick comparison between abstract classes and abstract methods:-

FeatureAbstract ClassAbstract Method
DefinitionA class that cannot be instantiated and serves as a base for one or more derived classes. It may contain both abstract and concrete methods.A method that has no implementation and must be implemented by a derived class.
UseTo provide a common interface and implementation for related classes.To define a common interface for derived classes to implement.
Syntaxabstract class ClassName { ... }abstract void MethodName();
Can be declared inClassClass or interface
Can have concrete methodsYesNo
Must be implemented in derived classNoYes

💡1- abstract class

– Only abstract class can have abstract methods

-Abstract class can have normal methods too.
-Object of abstract class can’t be created directly
– abstract classes should be inherited to be useful

[Think of an abstract class as an almost complete car by your dad who left over the choice of engine to be provided by you.]

💡2- abstract method

– abstract method can’t have method body
– abstract methods should be overridden to be useful.

code samples are here

1- Abstraction

package abstraction14;

abstract class A{

abstract void shw();
abstract void disp();
}

public class ExampleAbstraction extends A {

@Override
void shw() {
System.out.println("hi");
}

@Override
void disp() {
System.out.println("bye");
}
public static void main(String[] args) {

ExampleAbstraction e1=new ExampleAbstraction();
e1.shw();
e1.disp();
}
}

 

Interview Questions —

  • what is abstraction in real world?
  • How to create object of abstract class?

Leave a Reply

Your email address will not be published. Required fields are marked *