Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.util.ArrayList;
- import java.util.List;
- public class Main {
- public static void main(String[] args) {
- A objKlasyA = new A();
- B objKlasyB = new B();
- C objKlasyC = new C();
- D objKlasyD = new D();
- // objKlasyA.CosZrob();
- // objKlasyB.ZrobCosInnego();
- // objKlasyB.CosZrob();
- //
- // double x = 1.23;
- // ((A)objKlasyB).CosZrob();
- //
- //// [A ---]
- //// [C --- B --- A ---]
- // ((B)objKlasyA).CosZrob();
- // objKlasyB.CosZrobAlezA();
- // B objB = new B();
- // objKlasyA.FajnaFunkcja();
- // objKlasyB.FajnaFunkcja();
- // [A -- IA - ]
- // [B -- A -- [IA -]]
- // [C -- A -- [IA -]]
- // IA ajternfejs;
- // ajternfejs = objKlasyA;
- // ajternfejs.FajnaFunkcja();
- // ajternfejs = objKlasyB;
- // ajternfejs.FajnaFunkcja();
- // ajternfejs = objKlasyC;
- // ajternfejs.FajnaFunkcja();
- // ((IA)objKlasyA).FajnaFunkcja(); // mozna rzutowac na interfejs
- List<IA> listaObiektowZFajnaFunkcja = new ArrayList<>();
- listaObiektowZFajnaFunkcja.add(objKlasyA);
- listaObiektowZFajnaFunkcja.add(objKlasyB);
- listaObiektowZFajnaFunkcja.add(objKlasyC);
- for (int i = 0; i < listaObiektowZFajnaFunkcja.size(); i++) {
- listaObiektowZFajnaFunkcja.get(i).FajnaFunkcja();
- }
- // ((IA)objKlasyD).FajnaFunkcja(); // nie zadziala (dziwne że tego nie wyłapuje)
- }
- }
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- =============================================================================================================================
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- package com.company;
- public class D {
- public void SwojeCos(){
- System.out.println("Swoje cos");
- }
- }
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- =============================================================================================================================
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- package com.company;
- public class C extends A {
- @Override
- public void CosZrob(){
- System.out.println("Klasa C cos robi");
- }
- @Override
- public void FajnaFunkcja(){
- System.out.println("Fajna funkcja w C");
- }
- }
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- =============================================================================================================================
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- package com.company;
- public interface IA {
- void FajnaFunkcja();
- }
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- =============================================================================================================================
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- package com.company;
- public class B extends A implements IA {
- public B(){
- System.out.println("Konstruktor B");
- }
- public void ZrobCosInnego(){
- System.out.println("Klasa B cos innego robi");
- }
- @Override
- public void CosZrob(){
- System.out.println("Nadpisalem z A i robie w B");
- }
- public void CosZrobAlezA(){
- super.CosZrob();
- }
- @Override
- public void FajnaFunkcja(){
- System.out.println("Fajna funkcja w B");
- }
- }
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- =============================================================================================================================
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- package com.company;
- public class A implements IA{
- public A(){
- System.out.println("Konstruktor A");
- }
- public void CosZrob(){
- System.out.println("Klasa A cos robi");
- }
- public void Dupa(){
- }
- @Override
- public void FajnaFunkcja() {
- System.out.println("Fajna funkcja w A");
- }
- }
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- =============================================================================================================================
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement