파이썬 객체 지향 (끝)

객체 지향

첫째, 특수 수정

  총 회원 :

  (: 멤버 이름 앞에 플러스 두 개의 밑줄 민영화) : 개인 회원 __ 멤버 이름.

    사실 클래스 이름 __ _ 회원의 이름으로 포장

    - 직접 외부에 액세스 할 수 없습니다

    - 서브 클래스는 직접 부모 클래스의 private 멤버에 액세스 할 수 없습니다  1 클래스 F를 :

2      DEF  __init__ (자기)
 3          self.ge = 123
 (4)          자체. __gene = 123 개
 5          
6  클래스의 사용에 S (F) :
 7      DEF  __init__ (자기 이름) :
 8          self.name = 이름
 9          = 18 자기 .__ 연령
 10          초 (S, 자기). __init__ ()
 11      DEF (자체) 표시
 12          인쇄 (self.name)
 13          인쇄 (자기. __age )
 14          인쇄 (self.ge)
 15          인쇄 (자기.__gene )
 16  
17 (S)에서의 S = ( ' zhangsan ' )
 18 s.show ()

특별 둘째, 구성원

  __init __ : OBJ = 클래스 오브젝트를 생성하는 클래스 이름 () 및 기본 실행의 __init __ () 메소드;

  __del__ : 개체가 소멸 될 때 호출 대신 소멸자와 생성자;

   __call__ : 개체 이름 실행 + () 기본 방법;

1  푸 :
 2      DEF   __init__ (자기)
 3          인쇄 ( " init를 ' )
 4  
5      DEF   __call__ (DELF, 인수 *, ** kwargs로) :
 6           잉크 ( ' 호출 ' )
 7  
8 푸 ()

  __int __ : INT (개체)의 자동 __int __ () 메소드를 실행한다.

  __str __ : STR (개체) 자동 __str __ () 메소드를 실행한다.

1    푸 :
 2      DEF   __init__ (자기)
 3 개          패스 
4  
5      DEF   __int__ (자기)
 6          복귀 1,111
 7  
8      DEF   __str__ (자기)
 9          복귀   ' 자위대 ' 
10  
11 OBJ = 푸 ()
 12  인쇄 (OBJ, INT (OBJ), STR (OBJ))

  __dict__ : 모두 사전에 의해 캡슐화 콘텐츠 객체를 반환;

세, 메타 클래스, 클래스의 아버지

  A, 파이썬 모든 객체에서이다

  B, 클래스 푸 :

      패스

    OBJ = 푸 ()

    OBJ 푸 개체의 인스턴스이다 푸 클래스 객체의 일종

. 1    푸 (개체)
 2      DEF   FUNC (자기)
 . (3)          전단 (123 )
 .도 4는 ================== 대응한다
 . 5  DEF의   : 함수 (자기)
 . 6      인쇄 ( 123 )
 . 7  
. 8 푸 = 입력 ( ' ' (개체) { ' FUNC ' : 기능})
 . 9 클래스 객체 선언, 클래스 객체 이름 : 푸 상속 (오브젝트), 클래스 객체 메소드 호출 FUNC을 갖는다
1 명    합니다 MyType (타입) :
 2      DEF   __init__ (자기, 인수 *, ** kwargs로 일) :
 3          # 자기 = 푸 
4          인쇄 ( ' 합니다 MyType 초기화 ' )
 5          초 (MYTYPE 자기). __init (무엇 염기 딕셔너리)
 6  
7      DEF   __call__ (자기, 인수 *, ** kwargs로) :
 8          # 자기 = 푸 
9          인쇄 ( ' 합니다 MyType 통화 ' )
 10          OBJ = 자기. __new__ (SELT, 인수 *, ** kwargs로)
 11         본인. __init__ (OBJ)
 12  
13  클래스   푸 (오브젝트 메타 클래스 = 합니다 MyType)
 14      DEF   __init__ (자기)
 15          인쇄 ( " 푸 INIT ' )
 16  
17      DEF   __new__ (CLS * 인수 ** kwargs로) :
 18          #의 CLS = 푸 
19          인쇄 ( ' 푸 __new__ ' )
 20          리턴   객체입니다. __new__ (CLS, 인수 *, ** kwargs로)
 21  
22 coj = 푸 ()
 23  
24 출력 :
 25          초기화합니다 MyType
 26은          합니다 MyType 통화
 27이다 __new__ 
28          푸 초기화
 29  
30  첫번째 단계 : 생성 바닥 통역자 클래스 푸 위쪽에서 코드의 실행은 제 호출합니다 MyType __ __init ();
 (31)은  제 2 위상 : 푸 클래스 오브젝트 OBJ를 생성;
 32      (1). , 푸 먼저 __call의 __ ()에합니다 MyType 호출 푸 ()되도록합니다 MyType 개체이다
 (33)는      2 급 푸하여 오브젝트 OBJ 생성 : 턴 호
 (34)는              개체 + 다음 __call의 __의합니다 MyType ()를 () 메소드는 자동으로 호출된다
 (35)              푸 개체 생성 : 푸 __new __ ()의
 (36)              의 foo __init __ () : 푸 객체 인스턴스화

  C 객체 클래스 객체 유형 입력 (...)이다 인스턴스 오브젝트 클래스 개체 개체

추천

출처www.cnblogs.com/TianLiang-2000/p/11616312.html