«duck-typing» 태그된 질문

4
파이썬 용서 대 권한 및 오리 입력
파이썬에서는 종종 "권한 요청"(유형 / 조건 확인) 대신 "용서하기"(예외 잡기)가 더 좋다고 들었습니다. 파이썬에서 오리 타이핑을 시행하는 것과 관련하여, 이것은 try: x = foo.bar except AttributeError: pass else: do(x) 보다 나은 또는 나쁜 if hasattr(foo, "bar"): do(foo.bar) else: pass 성능, 가독성, "pythonic"또는 기타 중요한 요소와 관련하여?


4
많은 오리 유형 동적 프로그래밍 언어가 프로토 타입 기반 OOP 대신 클래스 기반 접근 방식을 사용하는 이유는 무엇입니까?
많은 동적 프로그래밍 언어가 오리 타이핑 기능을 가지고 있기 때문에 언제라도 루비 나 파이썬 과 같은 클래스 나 인스턴스 메소드를 열고 수정할 수 있습니다 . 질문 1) 역동적 인 언어로 수업이 필요합니까? 왜 언어가 클래스를 프로토 타입 방식 대신 일종의 "템플릿"으로 사용하고 객체 만 사용하도록 설계 되었습니까? 또한 JavaScript 는 …

6
오리가 다형성의 하위 집합을 입력하고 있습니까
위키피디아의 다형성에서 컴퓨터 과학에서 다형성 (polymorphism)은 균일 한 인터페이스를 사용하여 다양한 데이터 유형의 값을 처리 할 수있는 프로그래밍 언어 기능입니다. Wikipedia의 오리 입력에서 객체 지향 프로그래밍 언어를 사용한 컴퓨터 프로그래밍에서 덕 타이핑은 객체의 현재 메소드 및 속성 세트가 특정 클래스 또는 특정 인터페이스의 구현에서 상속되지 않고 유효한 의미를 결정하는 동적 …

3
속성과 메소드를 항상 확인하지 않고 자바 스크립트에서 오리 타이핑을 어떻게 사용합니까?
나는 자바 스크립트가 오리 타이핑을 사용한다는 것을 알고 처음에는 이것이 C #과 같은 강력한 유형의 언어에 비해 다형성을 쉽게 만들 것이라고 생각했습니다. 그러나 이제 인수를 취하는 내 함수에는 다음과 같은 것들이 있습니다. if(myObj.hasSomeProperty()) 또는 if(myObj.hasSomeMethod()) 또는 if(isNumber(myParam)) 기타 이것은 나에게 정말 추한 것입니다. 나는 C # 배경에서 왔으며 정의 된 …

1
Python의 오리 타이핑, 데이터 유효성 검사 및 독단적 프로그래밍
오리 타이핑 정보 : 덕 타이핑은 습관적으로 메소드 및 함수 본문에서 인수 유형을 테스트하지 않고 문서화, 명확한 코드 및 올바른 사용을위한 테스트에 의존하여 도움을줍니다. 인수 검증 정보 (EAFP : 권한보다 용서를 구하는 것이 더 쉬움) 여기 에서 적합한 예 : ... 더 많은 파이썬으로 간주됩니다. def my_method(self, key): try: value …

1
암시 적 인터페이스와 명시 적 인터페이스
나는 컴파일 타임 다형성과 런타임 다형성의 실제 한계를 이해한다고 생각합니다. 그러나 명시 적 인터페이스 (런타임 다형성, 즉 가상 함수 및 포인터 / 참조)와 암시 적 인터페이스 (컴파일 타임 다형성, 즉 템플릿)의 개념적 차이점은 무엇입니까 ? 내 생각은 동일한 명시 적 인터페이스를 제공하는 두 개의 객체는 동일한 유형의 객체 (또는 공통 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.