python 关于面对对象


python 关于面对对象

面向对象

关于对面向对象的理解,我认为就是一种资源整合和工具思维。比如说做一件事,不用涉及到每个细节,面面俱到,而是找到一个可以完成这件事的工具即可,使用工具完成,并不用关心是如何去完成的。

面向对象的三大特征

1.封装性

封装就是隐藏对象的属性和方法,进对外公开接口,且不能对其中的属性和方法进行修改,要想使用只能调用接.,封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员

2.继承性

继承是子类继承父类的特征和行为,是子类的对象拥有父类的特征和行为,或者说父类拥有的功能,子类继承之后同样可以拥有,而且还可以拓展。

3.多态性

可以说是同一个行为可以有多个不同的表现形式。是指一个类实例(对象)的相同方法在不同情形有不同表现形式。 比如说狗和猫都是动物类,都可以叫,但是叫声是不同的。现在按照动物类,创建一个机器人,可以模仿所有动物叫,指定模仿谁就是谁的声音.

1.类的定义

具有相同特征和行为的事物的抽象,类似于一个模板的概念

2.类的构成

a.类名

b.类得特征即属性

c.类的行为即方法

3.类方法

是类对象所拥有的方法,需要用修饰器@classmethod来标识其为类方法,对于类方法,第一个参数必须是类对象,一般以cls作为第一个参数,能够通过实例对象和类对象去访问

4.类属性

类属性就是类对象所拥有的属性,它被所有类对象的实例对象所共有,在内存中只存在一个副本

对象

1.定义

通过类定义,具象的,可见的数据结构实例

2.类对象

类本身也是一个对象,相当于某一类事物概念本身,通常被其类名所指向

3.实例对象

由类创建的实例,可见的,拥有类的特征和行为

你可能感兴趣的:(python 关于面对对象)