python——面向对象

面向对象:

1)是一种抽象(用分类的眼光看事物)。

2)两个基本概念:类(定义一件事物的抽象特点)对象(类的实例)

3)eg:coder(class)->张三(object)

面向对象的基本要素:定义类的属性和方法

1)属性:coder(name,sex,height,weight,salary....)

2)方法(功能):coding,repair computer...

类的特性:

1)封装:用户只知道如何使用这个类,不需要知道这个类是如何实现的。程序把实现的过程封闭起来就叫做类的封装。

2)继承:coder->后端coder->c、java、python coder,子类获得父类所有的功能。

3)多态:有继承才有多态。eg. Python coder 既是后端coder也是coder,若coder里面定义了一个write功能,只要是coder类或者子类,都会调用write。这就是多态。

继承可以把父类的所有功能都直接拿过来,这样就不必重零做起,子类只需要新增自己特有的方法,也可以把父类不适合的方法覆盖重写。

 

          

内建函数:

1)dir():返回对象的属性

2)Type():获取对象类型

 

访问控制之变量说明:

XXX:谁都可以访问

_XXX:外部可访问,但是请视为私有变量,不要随意访问

__XXX:外部不可访问,私有变量,要访问有方法(实例名._类名__XXX,见eg)

__XXX__:特殊变量,可直接访问。

总结:不提供私有属性,全靠自觉。

附网上摘抄小段子(有点污哈哈哈):

 

但是python仍然可以用实例名._类名__girl强上贞女

 

Coding && Result:

 

 

 

Coding && Result: 

 

定义类的方法:

1)@classmethod:调用的时候用类名,而不是某个对象

2)@property:像访问属性一样调用方法

Coding && Result:

 

继承:

Coding && Result:

 

原文地址:https://www.cnblogs.com/Darlene/p/7593116.html