// Encapsulation : binding varibles and method into single class .
class Company{
private int id;
public Company
(String EmpName,
int Empid
){ name=EmpName;
id=Empid;
}
return name;
}
public int getID(){
return id;
}
void setID(int Empid){
id=Empid;
}
};
//inheritdance : inheriting the behaviour of base class
class Animal{
void food(){
System.
out.
println("Anu food"); }
};
class Cat extends Animal{
void catFood(){
System.
out.
println("cat food"); }
};
//Compile time polymorphism
class compiletime{
void sum(int a , int b){
}
void sum(double a , double b){
}
}
// run time polymorphism
class math{
void sum(int a , int b){
}
}
class cal extends math{
@Override
void sum(int a , int b){
}
}
// Abstraction : hiding complex implementation details and exposing only the essential features
// Abstraction is achieved using:Abstract classes:
abstract class Animalpark{
abstract void food();
}
class dog extends Animalpark{
void food(){
System.
out.
println("Dog food"); }
}
class cat extends Animalpark{
void food(){
System.
out.
println("cat food"); }
}
public class Main
{
public static void main
(String[] args
) { // 1.
// Company com = new Company("Aman",1);
// com.setID(123);
// System.out.println(com.getName()+" "+com.getID());
// 2.
// Cat ani= new Cat();
// ani.catFood();
// ani.food();
// 3.
// compiletime ct= new compiletime();
// ct.sum(1,2);
// ct.sum(1.2,2.3);
// 4.
// cal s=new cal();
// s.sum(1,2);
// 5.
// cat a1=new cat();
// a1.food();
// dog b1=new dog();
// b1.food();
}
}
Ci8vIEVuY2Fwc3VsYXRpb24gOiBiaW5kaW5nIHZhcmlibGVzIGFuZCBtZXRob2QgaW50byBzaW5nbGUgY2xhc3MgLiAKY2xhc3MgQ29tcGFueXsKICBwcml2YXRlIFN0cmluZyBuYW1lOyAKICBwcml2YXRlIGludCBpZDsKICAKICBwdWJsaWMgQ29tcGFueShTdHJpbmcgRW1wTmFtZSwgaW50IEVtcGlkKXsKICAgICAgbmFtZT1FbXBOYW1lOwogICAgICBpZD1FbXBpZDsKICB9CiAgCiAgcHVibGljIFN0cmluZyBnZXROYW1lKCl7CiAgICAgIHJldHVybiBuYW1lOwogIH0KICAKICAgcHVibGljIGludCBnZXRJRCgpewogICAgICByZXR1cm4gaWQ7CiAgfQogICAgCiAgICAgdm9pZCBzZXRJRChpbnQgRW1waWQpewogICAgICAgIGlkPUVtcGlkOwogIH0KfTsKCgovL2luaGVyaXRkYW5jZSA6IGluaGVyaXRpbmcgdGhlIGJlaGF2aW91ciBvZiBiYXNlIGNsYXNzIAoKY2xhc3MgQW5pbWFsewogICAgCiAgICAgdm9pZCBmb29kKCl7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJBbnUgZm9vZCIpOwogICAgfQp9OwpjbGFzcyBDYXQgZXh0ZW5kcyBBbmltYWx7CiAgICAgICAgdm9pZCBjYXRGb29kKCl7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJjYXQgZm9vZCIpOwogICAgfQogICAgCn07CgoKLy9Db21waWxlIHRpbWUgcG9seW1vcnBoaXNtIApjbGFzcyBjb21waWxldGltZXsKICAgICB2b2lkIHN1bShpbnQgYSAsIGludCBiKXsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIGErYik7CiAgICB9CiAgICAgIHZvaWQgIHN1bShkb3VibGUgYSAsIGRvdWJsZSBiKXsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4gKGErYik7CiAgICB9CiAgICAKfQoKLy8gcnVuIHRpbWUgcG9seW1vcnBoaXNtCgpjbGFzcyBtYXRoewogICAgIHZvaWQgc3VtKGludCBhICwgaW50IGIpewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbiggYStiKTsKICAgIH0KfQoKY2xhc3MgY2FsIGV4dGVuZHMgbWF0aHsKICAgIEBPdmVycmlkZQogICAgIHZvaWQgc3VtKGludCBhICwgaW50IGIpewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihhKmIpOwogICAgfQp9CgovLyBBYnN0cmFjdGlvbiA6IGhpZGluZyBjb21wbGV4IGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4cG9zaW5nIG9ubHkgdGhlIGVzc2VudGlhbCBmZWF0dXJlcyAKCi8vIEFic3RyYWN0aW9uIGlzIGFjaGlldmVkIHVzaW5nOkFic3RyYWN0IGNsYXNzZXM6CgphYnN0cmFjdCBjbGFzcyBBbmltYWxwYXJrewogICAgYWJzdHJhY3Qgdm9pZCBmb29kKCk7Cn0KCmNsYXNzIGRvZyBleHRlbmRzIEFuaW1hbHBhcmt7CiAgICB2b2lkIGZvb2QoKXsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkRvZyBmb29kIik7CiAgICB9Cn0KCmNsYXNzIGNhdCBleHRlbmRzIEFuaW1hbHBhcmt7CiAgICB2b2lkIGZvb2QoKXsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oImNhdCBmb29kIik7CiAgICB9Cn0KIApwdWJsaWMgY2xhc3MgTWFpbgp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgLy8gMS4KICAgICAgICAvLyBDb21wYW55ICBjb20gPSBuZXcgQ29tcGFueSgiQW1hbiIsMSk7CiAgICAgICAgLy8gY29tLnNldElEKDEyMyk7CiAgICAgICAgLy8gU3lzdGVtLm91dC5wcmludGxuKGNvbS5nZXROYW1lKCkrIiAiK2NvbS5nZXRJRCgpKTsKICAgICAgICAvLyAyLiAKICAgICAgICAvLyBDYXQgYW5pPSBuZXcgQ2F0KCk7CiAgICAgICAgLy8gYW5pLmNhdEZvb2QoKTsKICAgICAgICAvLyBhbmkuZm9vZCgpOwogICAgICAgIAogICAgICAgIC8vIDMuCiAgICAgICAgLy8gY29tcGlsZXRpbWUgY3Q9IG5ldyBjb21waWxldGltZSgpOwogICAgICAgIC8vIGN0LnN1bSgxLDIpOwogICAgICAgIC8vIGN0LnN1bSgxLjIsMi4zKTsKICAgICAgICAKICAgICAgICAvLyA0LiAKICAgICAgICAvLyBjYWwgcz1uZXcgY2FsKCk7CiAgICAgICAgLy8gcy5zdW0oMSwyKTsKICAgICAgICAKICAgICAgICAvLyA1LgogICAgICAgIC8vIGNhdCBhMT1uZXcgY2F0KCk7CiAgICAgICAgLy8gYTEuZm9vZCgpOwogICAgICAgIAogICAgICAgIC8vIGRvZyBiMT1uZXcgZG9nKCk7CiAgICAgICAgLy8gYjEuZm9vZCgpOwoJfQp9Cg==