Python>类

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

创建类

class (object):
    content

描述类的特性

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

def __init__(self):
    content

数据封装

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

访问限制

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

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

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

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

继承&多态

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

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

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

你可能感兴趣的:(Python>类)