그룹과 상속은 어떤 차이가 있습니까?

1879 단어 java 기초
조합과 계승은 대상을 대상으로 하는 두 가지 코드를 복용하는 방식이다.
1. 조합 정의
새 클래스에서 기존 클래스의 대상을 만들고 기존 클래스의 기능을 반복적으로 이용합니다.(has-a 관계식)
2. 상속 정의
기존 클래스의 기능을 사용할 수 있고 기존 클래스를 반복적으로 작성할 필요가 없는 상황에서 기존 클래스를 기능적으로 확장할 수 있다.(is-a 관계식)
3. 인스턴스 비교
  • Vehicle는 교통수단의 대상을 나타낸다
  • 카는 자동차 대상을 표시한다
  • Tire는 타이어 개체
  • 를 나타냅니다.
    /**
    * 
    */
    class Vehicle{
    }
    class Car entends Vehicle{
    }
    
    /**
    * 
    */
    class Tire{
    }
    class Car entends Vehicle{
    	private Tire t = new Tire();
    }
    

    4. 두 가지 방식의 선택
  • 두 클래스 간에'is-a'의 관계가 없으면 상속을 쉽게 사용하지 마라. 단순히 코드의 중용을 실현하기 위해 상속을 사용하지 마라. 너무 많은 상속을 사용하면 코드의 유지보수성을 파괴할 수 있기 때문에 부류가 수정될 때 상속된 부류에 영향을 주어 프로그램의 유지보수 난이도와 비용을 증가시킬 수 있다.
  • 다태적 실현만을 위해 계승을 사용하지 말고 클래스 간에'is-a'의 관계가 없으면 인터페이스와 조합을 실현하는 방식으로 같은 목적을 달성할 수 있다.디자인 모델 중의 전략 모델은 이 점을 잘 설명할 수 있고 인터페이스와 조합 방식을 사용하는 것이 계승 방식을 사용하는 것보다 확장성이 좋다.
  • 자바 언어에서 조합을 사용할 수 있으면 계승을 사용하지 않는다.
  • 좋은 웹페이지 즐겨찾기