【老九】【Python】对象和类
OOP(Object Oriented Programming),面向对象程序设计
OOP的优点:达到的了软件工程的三个主要目标:重用性、灵活性、扩展性
使用面向对象思想描述现实世界
基本步骤(数据抽象:是状态和行为的结合)
- 发现类
- 找出特征(名词)(属性)
- 找出行为(动词)(函数)
定义类(类是模板是对象的设计图,对象是类的实体)
- 类会提供一个特殊的方法: __init__(构造方法),被称为初始化程序,它在创建和初始化这个新对象时被调用。主要是设置属性
- 定义了类后,就可以使用构造方法由类来创建对象。actor = Actor(“小明”,”女”,”掌柜”)
- 方法中的self表示引用创建的对象(可以使用其它单词代替,但是不建议)。
- 方法中的pass表示该方法暂时不实现。
隐藏数据域(封装)(将类给其他程序使用时)
- 让数据域私有来保护数据,为避免直接修改数据域,就不要让用户直接访问数据域,这被称为数据隐藏。
- 在python中,私有数据域以两个下划线开头。私有方法一样。(一个下划线开头的属性,称为受保护的,仅作为程序员的提示,python解释器不会强制执行。受保护的属性仍然可以被类的用户访问到,所以全靠程序员的自觉。)
- 私有数据域和方法只能在类的内部被访问。
- 在类的内部添加set和get方法分别用来在外部设置和获取该属性。(布尔类型成员一般使用is开头的方法实现)。
- 不要使用一个或两个下划线结尾,因为在python中这是有特殊意义的。
类中的__str__(self)方法在打印对象时,会自动调用。
类中的__eq__(self,other):当调用==符号比较两个对象时,自动调用该方法。
使用列表操作多个对象,可以简化多个同类型对象的操作。
使用in可以判断列表中是否存在某个元素。
遇到问题,可加老九君个人QQ:614940318,请备注来自****
老九学堂免费C、C++、Java课程地址: https://study.163.com/courses-search?keyword=老九学堂