프로그램을 계획 할 때 종종 다음과 같은 생각으로 시작합니다. 축구 팀은 축구 선수 목록입니다. 따라서 다음과 같이 표현해야합니다. var football_team = new List<FootballPlayer>(); 이 목록의 순서는 선수가 명단에 나열되는 순서를 나타냅니다. 그러나 나중에 팀에는 단순한 플레이어 목록 외에도 기록해야 할 다른 속성이 있다는 것을 알고 있습니다. 예를 들어, 이번 시즌의 …
이 두 코드 조각의 차이점은 무엇입니까? 사용 type(): import types if type(a) is types.DictType: do_something() if type(b) in types.StringTypes: do_something_else() 사용 isinstance(): if isinstance(a, dict): do_something() if isinstance(b, str) or isinstance(b, unicode): do_something_else()
API 참조 범위 페이지는 말한다 : 범위 는 상위 범위에서 상속 할 수 있습니다 . 개발자 가이드의 범위 페이지는 말한다 : 범위는 (시제품 적으로) 부모 범위에서 속성을 상속합니다. 그렇다면 자식 범위는 항상 부모 범위에서 프로토 타입으로 상속됩니까? 예외가 있습니까? 상속 할 때 항상 정상적인 JavaScript 프로토 타입 상속입니까?
Java 제네릭이 상속 / 다형성을 처리하는 방법에 대해 약간 혼란 스럽습니다. 다음과 같은 계층 구조를 가정하십시오. 동물 (부모) 개 - 고양이 (어린이) 따라서 방법이 있다고 가정 doSomething(List<Animal> animals)합니다. 상속과 다형성의 규칙 모든함으로써, 나는이 가정 것 List<Dog> 입니다 을 List<Animal>하고는 List<Cat> 있습니다List<Animal> 그래서 둘 중 하나가이 메서드에 전달 될 수있다 -. …
파이썬에서 간단한 객체 계층을 만들 때 파생 클래스에서 부모 클래스의 메서드를 호출 할 수 있기를 원합니다. Perl과 Java에는이 키워드 ( super)에 대한 키워드가 있습니다. Perl에서는 다음과 같이 할 수 있습니다. package Foo; sub frotz { return "Bamf"; } package Bar; @ISA = qw(Foo); sub frotz { my $str = SUPER::frotz(); …
C ++를 사용하여 파생 클래스에서 부모 함수를 어떻게 호출합니까? 예를 들어,이라는 클래스 parent와 childparent에서 파생 된 클래스 가 있습니다. 각 클래스에는 print기능이 있습니다. 자녀의 인쇄 기능 정의에서 부모 인쇄 기능을 호출하고 싶습니다. 어떻게하면 되나요?
차이점은 무엇입니까? class Child(SomeBaseClass): def __init__(self): super(Child, self).__init__() 과: class Child(SomeBaseClass): def __init__(self): SomeBaseClass.__init__(self) super단일 상속만으로 클래스에서 상당히 많이 사용되는 것을 보았습니다 . 왜 다중 상속에 사용하는지 알 수 있지만 이런 상황에서 이점을 사용하는 이점이 무엇인지 확실하지 않습니다.