欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python>类

程序员文章站 2022-07-15 17:06:05
...

类是具有相同特性的一类对象的集合。

创建类

class <class_name>(object):
    content

描述类的特性

使用一个特殊的方法__init__()

def __init__(self):
    content

数据封装

简单来说,数据封装就是在类的内部定义函数对类的特性进行处理。这样做的结果就是,外部可以通过访问那些定义好的函数来实现目的,而不是直接访问类的特性

访问限制

涉及到私有变量的概念。私有变量是类内部可以进行访问,而外部不能进行访问的变量,可以在一定程度上保护变量。在形式上,私有变量以__开头,如__xxx。

私有变量表面上不能被外部访问,实际上是可以的。比如Student类里的一个__name属性,外部不能通过Bob.__name得到数据,但是能通过Bob._Student__name得到。但是这种做法需要极力避免。

如果需要在外部访问私有变量怎么办?在类的内部增加一个取得私有变量值的函数(方法)。

如果需要从外部改变私有变量怎么办?在类的内部增加一个修改私有变量的值的函数(方法)。这种拐弯抹角的做法好处在哪?自定义函数可以通过条件判定添加修改的限制条件。

继承&多态

继承:子类继承父类的特征和行为,使子类拥有父类的属性和方法。打个形象的比方,人与学生的关系中,人是父类,学生是子类,人有脚,会走路,学生继承了人的这些特征和行为,所以学生也也有脚,会走路。

多态:在特征上有多种形态和在行为上表现出多种方式。学生和老师都是人,然而虽同为人的子类,但是学生和老师之间有很多的不一样的地方。这就是多态。

继承的好处在于代码复用,子类通过继承就一下子得到了父类的所有东西,不需要重写一次。多态的好处在代码的可扩展性,子类可以增加父类所没有的东西。