Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Main {
- protected String categorie;
- protected String nume;
- public Main() {
- this.nume = "-";
- this.categorie = "-";
- }
- public Main(String nume) {
- this.nume = nume;
- categorie = new String("motor");
- }
- public String returneazaInfo() {
- return "Sunt un/o " + nume + " si apartin de: " + categorie + " (sunt afisat/a in clasa Main)";
- }
- public void metodaSpecificaMain() {
- System.out.println("Metoda Specificata in Main");
- }
- }
- class Second extends Main { // clasa derivata
- public Second(String nume) {
- this.nume = nume;
- categorie = new String("transmisie");
- }
- //suprascrierea metodei originale
- @Override
- public String returneazaInfo() {
- return "Numele obiectului este " + nume + " si apartine de: " + categorie;
- }
- public void metodaSpecificaSecond() {
- System.out.println("Medoda Specificata in Second");
- }
- }
- class Test {
- public static void main(String a[]) {
- Main c1 = new Main("bujie");
- System.out.println(c1.returneazaInfo());
- c1.metodaSpecificaMain();
- Second v1 = new Second("ambreiaj");
- System.out.println(v1.returneazaInfo());
- v1.metodaSpecificaSecond();
- Second v2 = new Second("roata dintat");
- Main c2 = v2; // upcasting prin initializare
- System.out.println(c2.returneazaInfo());
- c2.metodaSpecificaMain();
- //c2 nu are acces la metodaSpecificaSecond
- //c2.metodaSpecificaSecond();
- Second v3 = new Second ("brat selectie viteza");
- System.out.println(v3.returneazaInfo());
- // downcasting
- if (v3 instanceof Second) {
- v3 = (Second) (c2);
- System.out.println("Dupa down casting: " + v3.returneazaInfo());
- }
- v3.metodaSpecificaSecond();
- v3.metodaSpecificaMain();// e mostenita
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement