Encapsulation:
class Animal2 {
String name;
public Animal2(String name) {
[Link] = name;
}
public void Sound() {
[Link](name + " is making a sound");
}
}
class cat1 extends Animal2{
public cat1(String name) {
super(name);
}
@Override
public void Sound(){
[Link](name + " is meowing");
}
public void fetching(){
[Link](name + " is fetching the ball");
}
}
public class encapsulation {
public static void main(String[] args) {
Animal2 dog = new Animal2("Husky");
[Link]();
cat1 c = new cat1("calico");
[Link]();
[Link]();
}
}
Output:
Inheritance:
class base{
private int x;
public int getX(){
return x;
}
public void setX(int x){
[Link]("Setting x as ");
this.x= x;
}
public void printMe(){
[Link]("an example of constructor");
}
}
class derived extends base{
private int y;
public int getY(){
return y;
}
public void setY(int y){
this.y= y;
}
public void sqrt(){
[Link]("the square = " + (y *y));
}
}
class Animal1{
String name;
public Animal1(String name){
[Link] =name;
}
public void sound(){
[Link](name + " is making sound");
}
}
class Dog1 extends Animal1{
public Dog1(String name){
super(name);
}
@Override
public void sound() {
[Link](name + " is barking");
}
public void fetch(){
[Link](name + " is fetching a ball");
}
}
public class inheritence {
public static void main(String[] args) {
Animal1 cat = new Animal1("Persian");
[Link]();
Dog1 dog = new Dog1("Golden Retriever");
[Link]();
[Link]();
base b = new base();
[Link](98);
[Link]([Link]());
[Link]();
derived d = new derived();
[Link](78);
[Link]([Link]());
[Link](45);
[Link]([Link]());
[Link]();
[Link]();
}
}
Output:
Interface:
interface Bicycle{
int a = 45;
void applyBrake(int decrement);
void speedup(int increment);
}
interface Horncycle{
void applyhorn();
void horn();
}
class Avoncycle implements Bicycle, Horncycle{
int speed =7;
public void applyBrake(int decrement)
{
speed = speed - decrement;
[Link](speed);
}
public void speedup(int increment){
speed = speed + increment;
[Link](speed);
}
public void applyhorn(){
[Link]("press horn");
}
public void horn(){
[Link]("stop it");
}
public void newn(){
[Link]("for testing");
}
}
public class interfaces {
public static void main(String[] args) {
Avoncycle ch = new Avoncycle();
[Link](3);
[Link](4);
[Link](ch.a);
[Link]();
[Link]();
[Link]();
}
}
Output:
Abstraction:
abstract class parent{
public parent(boolean name){
if(name)
[Link]("This is a constructor");
}
public void sayHello(){
[Link]("Hello");
}
abstract public void greet();
abstract public void shake();
}
class child extends parent{
// to avoid printing the constructor we need to create a constructor of extended
class
// and use super() to if needed
public child(){
super(false);
}
@Override
public void greet() {
[Link]("Greeting");
}
public void shake() {
[Link]("Shaking");
}
}
//to extend a class we must do
// 1. make the extended class an abstract class or
// 2. override the abstract method of the abstract base class
// class child2 extends parent{
// public void nod(){
// [Link]("this will show an errer");
abstract class child2 extends parent{
public child2(){
super(true);
}
public void nod(){
[Link]("Nodding");
}
abstract public void greet2();
abstract public void greet3();
}
public class abstraction {
public static void main(String[] args) {
// parent p = new parent() ; error
// child2 ch = new child2(); error
// we can't create an object of a abstract class
child c = new child();
[Link]();
[Link]();
}
}
Output: