Dziedziczenie - przykłady
/* Prostopadloscian2.java */
class Prostokat
{
int a;
int b;
Prostokat(int a, int b)
{
this.a = a;
this.b = b;
}
int pole()
{
return a*b;
}
}
class Prostopadloscian extends Prostokat
{
int c;
Prostopadloscian(int a, int b, int c)
{
super(a,b); // wywołanie konstruktora z klasy bazowej
this.c = c;
}
int pole()
{
return 2*a*b + 2*a*c + 2*c*b;
}
int objetosc()
{
return super.pole()*c; // wywołanie metody pole z klasy bazowej
}
}
public class Prostopadloscian2
{
public static void main(String[] args)
{
Prostopadloscian pr = new Prostopadloscian(2,3,4);
System.out.println("a = " + pr.a);
System.out.println("b = " + pr.b);
System.out.println("c = " + pr.c);
System.out.println("Pole pr = " + pr.pole());
System.out.println("Objetosc pr = " + pr.objetosc());
}
}
a = 2
b = 3
c = 4
Pole pr = 52
Objetosc pr = 24
Press any key to continue...
/* Prostopadloscian3.java */
class Prostokat
{
int a;
int b;
Prostokat(int a, int b)
{
this.a = a;
this.b = b;
}
public String toString() // przesłaniamy metodę z klasy Object
{
return "a = " + a + "\nb = " + b;
}
int pole()
{
return a*b;
}
}
class Prostopadloscian extends Prostokat
{
int c;
Prostopadloscian(int a, int b, int c)
{
super(a,b);
this.c = c;
}
public String toString() // przesłaniamy metodę z klasy Prostokat
{
return super.toString() + "\nc = " + c;
}
int pole()
{
return 2*a*b + 2*a*c + 2*c*b;
}
int objetosc()
{
return super.pole()*c;
}
}
public class Prostopadloscian3
{
public static void main(String[] args)
{
Prostopadloscian pr = new Prostopadloscian(2,3,4);
System.out.println(pr);
System.out.println("Pole pr = " + pr.pole());
System.out.println("Objetosc pr = " + pr.objetosc());
}
}
a = 2
b = 3
c = 4
Pole pr = 52
Objetosc pr = 24
Press any key to continue...