객체 지향 프로그래밍, 객체 클래스 및

객체 지향 프로그래밍, 객체 클래스 및

첫째, 객체 지향

1. 객체 지향 무엇입니까

객체 지향 프로그래밍은 사고의 종류는 전임자의 경험을 요약되어있다에게, 프로그래머을 안내하는 방법, 더 나은 프로그램을 작성하는

핵심은 프로그래머가 작업과 상호 작용하는 이러한 개체를 예약 할 책임이 프로그램의 목적은 개체의 컬렉션입니다.

2, 몇 가지 경우

사례 1 : 냉장고에 넣어 코끼리?

프로세스 중심의 :

냉장고를여십시오

2.로드 코끼리

냉장고를 닫습니다

객체 지향 :

코끼리 기술로로드 된 개체를 찾기

요약 : 특정 운영자에 도체로부터 객체 지향 프로그래머의 관점에서 변화

그는 강조했다 : 물체가 허공에서 생성되지 않습니다, 우리는 자신을 디자인해야

사례 2 : 불교 경전

여래는 밖으로 확산 깨진 서의 더미가있다, 그는 스스로를했지만 그를 도와 다섯 개체를 찾을 수

여래는 한 개체가 스케줄링을 제어하기위한 책임을 질 수

객체가 변경 될 경우, 확장 성, 다른 물체에 영향을 미치지 않습니다

사례 3 : 카오 카오시,시 그의 부하가 만들어 질 수 주문한 나무에 새겨진

첫날 : 고기와 음료, 생활 Zhenshuang

다음날 : 고기와 음료, 생명 구조

셋째 날 : 와인과 노래, 생명 구조

객체 지향의 3, 세 가지 주요 장점

1. 확장 성

2. 유연성

3. 재사용

단점 :

1. 프로그램의 복잡도가 개선

정확하게 결과를 예측하지 (2)

4, 사용 시나리오

예를 들어 일반적으로 직접 사용자에게 프로의 높은 확장 성 요구 사항, : QQ, 마이크로 채널

둘째, 프로세스 지향 프로그래밍 아이디어

1 코어 관심사는 과정

이 과정은 단계적으로이 일을하기 전에 두 단계입니다

2, 장점과 단점

장점 : 명확한 논리, 복잡한 문제를 단순화 과정

단점 : 가난한 확장 성, 유지 보수성

3, 사용 시나리오

시스템 커널, 자식, 계산기 : 같은 낮은 확장 프로그램에 대한 요구 사항

, 모든 프로그램이 지향하는 객체의 특정 요구를 분석이 : 기억

(OOP 개념의 핵심) 셋째, 클래스 및 개체

1, 클래스

두 유형, 카테고리, 추상적 인 개념이다

이 같은 기능을 가진 수집 및 개체의 동일한 동작입니다

2 개체

일이, 자신의 특성과 동작을 특정이 존재인가

개체의 특성과 기술의 조합입니다

3 클래스 및 객체 관계

클래스는 일련의 객체를 포함

개체는 클래스에 속하는

생활에서 첫째, 다음 객체 클래스가

프로그램에서 개체를하기 위해 첫 번째 클래스 인 반면, 우리는 개체의 기능이 어떤 종류의 어떤 행동에 컴퓨터를 말해야한다

요약 결론 : 객체 지향 프로그래밍을 사용하는 경우, 첫 번째 단계에 대해 생각하는 어떤 객체 요구의 종류에 따라 필요한 정보의 유형을 요약 특성과 행동을 가진 객체, 어떤 종류의

4, 클래스와 객체를 생성

클래스를 정의하는 구문

class 类的名称:
    # 类中的内容 描述属性和技能 
    #描述属性用变量
    #描述行为用函数 

#类名称 书写规范  首先是见名知意 名称是大驼峰命名法  
#驼峰就是单词首字母大写 , 大驼峰是第一个字母大写,小驼峰是第一个字母小写

객체 구문을 작성 :

class Person:
    pass

#创建对象 
p = Person()

등록 표현 :

# 属性可以写在类中 
# 类中的属性,是所有对象公共的 

# 也可以写在对象中 
# 对象中的属性,是每个对象独特的(不一样的)


# 如果类中和对象中存在同样的属性,先访问对象 如果没有在访问类 


# 练习: 描述一个老师类 需要包含 一个公共属性和 一个独特的属性 

class Teacher:
    school = "oldboy"
    
t1 = Teacher()
t1.name = "jack"
t1.age = 28

삭제 검색을 변경 속성

# 增加属性 
# 对象变量名称.属性名称 = 属性值

# 删除属性
del 对象的变量名称.属性名称 

# 修改 
对象.属性 = 新的值 

# 查看属性  访问的是对象的所有属性 
print(对象.__dict__)

# 访问对象的类信息
print(对象.__class__)

5 초기화 방법

초기화 방법이라고는 본질적 함수

특징 1 : 개체가 인스턴스화 될 때, 자동으로의 init 메소드

특징 2 : 자동으로 첫 번째 인수로 객체를 매개 변수 비트 자기의 이름은, 자기는 다른 이름이 될 수 있지만, 변화하지 않는 것이 좋습니다

기능 : 사용자 객체에 초기 값을 할당

운동 : 초기화 방법으로 그에게 속성을 설정하는 몇 가지 속성을 가진 클래스를 만듭니다

class Dog:
    def __init__(self,kind,color,age):
        self.kind = kind
        self.color = color
        self.age = age

d1 = Dog("二哈","黑白",1)
d1 = Dog("泰迪","棕色",2)


注意:该函数不能有任何返回值/.... 只能是None  规定如此..

목적 함수의 본질은 처리 될 정도로 그 기능이 데이터 처리 및 데이터 모두에 객체를 얻기 위해 데이터를 통합하고, 서로 데이터를 처리한다

(6) 결합 방법 개체

클래스 메소드는 기본적으로 방법 객체를 바인딩

그것은 특별한 것을하고,

객체가 자동으로 첫 번째 인수로 객체 자체에 전달 된 함수를 호출 할 때

그에게 전화하는 클래스 이름이 정상적인 기능 때, 여러 매개 변수가 몇 가지 매개 변수를 전달해야 할 수 있습니다

운동 : 자신의 이름 정보를 내보낼 수 있도록 인사말 기술을 가진 학생들의 클래스를 쓰기

class Student:
    
    def __init__(self,name):
        self.name = name
     
    def say_hi(self):
        print("hello my name is %s" % self.name)

7 클래스 결합 방법

클래스 결합 방법 @classmethod을 장식하기 위해 사용

특수 기능 :에 관계없이 클래스 또는 객체 호출의 첫 번째 인수로 자동 수신 클래스 자체입니다

객체에 바인딩하는 경우 : 기능 로직 시간 데이터 오브젝트로의 액세스를 요구할 때

클래스에 바인딩하는 경우 : 데이터 로직 기능이 때 클래스에 액세스해야하는 경우

8 구속력 접근

또는 정적 방법은,라고하는 데이터 액세스 클래스를 필요로하지 않는다이다입니다. 개체의 데이터에 액세스하는 데 필요하지 않습니다

구문 : @staticmethod

하지 일반적으로

추천

출처www.cnblogs.com/DcentMan/p/11247336.html