Python-100days-08

Day08 - 面向对象编程

面向对象思想有三大要素:封装、继承和多态。

  • 封装,指的是在类中编写的数据或者方法都封装起来,对外只提供调用接口,当类被实例化对象后,就可以直接调用类里面的方法。
  • 继承,即可以直接继承前辈的属性和方法。通俗的说就是可以使用已经存在的经验和方法,我们可以不需要重复劳作就可以获得,同时还可以在此基础上进行扩展。
  • 多态,字面意思就是多种状态。当子类继承父类后,我们可以对父类方法进行重写,通过方法重写可以让父类的同一个行为在子类中拥有不同版本,当我们调用这个经过子类重写的方法时,不同子类对象会表现出不同的行为,称之为多态。

类和对象

类是对象的蓝图和模板,对象是类的具体实例。在对面对象编程中,一切皆为对象,对象都有属性和方法,每个对象都是独一无二的,且对象一定属于某个类。

定义类和实例化对象

Python中用class关键字定义类。写在类中的方法,我们称为方法。在命名属性的时候,常用_开头,暗示属性是受保护的,不建议外界直接访问。

练习

练习1:定义一个类描述数字时钟。

ps.这个练习感觉做出来的功能怪怪的。无非就是时间累计,转化为时分秒吧。。。

import time

class Clock:
    def __init__(self, hour = 0, minute = 0, second = 0):
        self._hour = hour
        self._minute = minute
        self._second = second

    def run(self):
        self._second += 1
        if self._second == 60:
            self._second = 0
            self._minute += 1
            if self._minute == 60:
                self._minute = 0
                self._our += 1
                if self._our == 24:
                    self._hour ==0

    def show(self):
        s = '%02d:%02d:%02d' % (self._hour, self._minute, self._second)
        return s

def main():
    clock = Clock()
    while True:
        print(clock.show())
        time.sleep(1)
        clock.run()

if __name__ == '__main__':
    main()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。