Abstract 클래스의 인스턴스를 만들 수 없으며 Abstract 클래스의 서브 클래스는 첫 번째 Abstract 클래스의 속성을 상속받을 수 있지만 정상적인 Super 클래스와 해당 클래스가있을 때 추상 클래스가 모두 필요하다는 것을 알지 못합니다. 하위 클래스. Abstract 클래스의 이점/애플리케이션은 무엇입니까?추상 클래스의 사용/응용이란 무엇입니까?
답변
abstract class Animal { }
class Dog extends Animal { }
class Cat extends Animal { }
Animal
을 인스턴스화 할 수 있다면 무엇이 될까요?
수퍼 클래스가 인스턴스화되지 않아야하는 경우 abstract
클래스를 사용해야합니다. 클래스를 확장하는 데 기본으로 사용되지만 자체적으로 아무 의미도 없습니다. Animal
클래스를 가짐으로써
는 모든 서브 클래스에서 다시 정의 할 필요없이이 대신에 일반적인 동작을 정의 할 수 있습니다, Dog
및 Cat
에 대한의 base class 역할을합니다. Name
, Species
및 FirstSighting
과 같은 속성에 대해 생각하십시오. 이들은 Cat
과 Dog
에서 모두 사용되므로 추가 작업과 불일치 문제를 피하기 위해 기본 클래스에 넣지 않으시겠습니까?
다른 한편으로는 Animal
을 새로 만들지 않고 동물의 유형에 대해서는 아무 것도 말하지 않습니다. 그것이 당신이 그것을 abstract
로 만드는 이유입니다.
downvotes 무엇입니까? –
Animal 클래스는 아무 쓸모가없는 한 추상화 여부에 관계없이 전혀 존재할 권리가 없습니다. –
동물은'name','species','first sighting' 등과 같은 특정 속성을 포함 할 수 있습니다. 모든 하위 클래스에서 이것을 다시 정의하겠습니까? –
추상 클래스/인터페이스의 주된 목적은 문제 - 디자인의 추상화를 모델링하는 것입니다. 실제 구현은 추상에 따라 동작합니다.
추상 클래스는 "불완전한"추상 구현이 인스턴스화되는 것을 방지합니다.
예를 들어, 추상 클래스는 구현없이 추상 메소드를 가질 수 있습니다. 실제로 그러한 메소드를 호출하는 것은 유효하지 않습니다.
또는 추상 클래스는 실제 추상 메서드가 없을 수도 있지만 여전히 유용하기 때문에 하위 클래스 API에 추가 기능을 추가 할 것으로 예상 될 수 있습니다.
abstract
키워드는 모두 &이 추상 클래스의 인스턴스화를 방지하는 이러한 이유로 사용됩니다.
- 1. 추상 클래스의 추상 메서드
- 2. 추상 클래스의 목적은 무엇입니까?
- 3. 인터페이스와 추상 클래스의 장점은 무엇입니까?
- 4. 클래스의 추상 메서드
- 5. 인터페이스와 추상 클래스의 차이점
- 6. 추상 클래스의 올바른 사용
- 7. 추상 클래스의 데이터 보호
- 8. 추상 클래스의 추상 멤버를 올바르게 처리하는 방법은 무엇입니까?
- 9. 상속 할 때 추상 클래스와 비 추상 클래스의 차이점은 무엇입니까
- 10. 추상 클래스의 생성자?
- 11. 추상 클래스의 메소드
- 12. 추상 클래스의 공개 필드?
- 13. 두 추상 클래스의 상속
- 14. 추상 클래스의 벡터 반복하기
- 15. 이 추상 클래스의 후보자입니까
- 16. 추상 클래스의 'this'키워드
- 17. 추상 클래스의 정적 배열
- 18. 추상 클래스의 캐싱 propertyinfo
- 19. 추상 클래스의 protected 메소드
- 20. 추상 클래스의 ArrayList 사용
- 21. 추상 클래스의 속성 재정의
- 22. 추상 클래스의 상속
- 23. 추상 클래스의 속성 가시성
- 24. 추상 클래스의 2D 배열?
- 25. 추상 클래스의 정적 생성자?
- 26. 추상 클래스의 Tomcat에서 NoClassDefFoundError
- 27. 추상 클래스의 그룹 메서드
- 28. 추상 클래스의 소멸자 호출
- 29. 추상 클래스의 포인터
- 30. 추상 클래스의 반대편에 있습니까?
객체 지향 프로그래밍의 이점은 무엇입니까? –
물어보기 전에 먼저 시도해 보는 것의 이점은 무엇입니까? – hexafraction
나는 끝냈다. 당신 튜브에 대한 몇 가지 비디오를 보았습니다. 그냥 추상 클래스가 아니라 일반 클래스에 비해 응용 프로그램을 말해. – user3013144