面向对象编程
私有属性与私有方法介绍
在实际开发中,对象的某些属性或者方法,只希望在对象的内部使用。这时,我们就可以使用私有属性和私有方法。
私有属性
就是对象不希望公开,定义方式是在属性名前面增加两个下划线(例如:__name)
- 在类的外部访问私有属性报错(AttributeError: ‘People’ object has no attribute ‘age’)
- 私有属性在类的内部的方法是可以访问的
- 在类的内部将私有属性返回出来,可以访问
私有方法
就是对象不希望公开,在方法名前面增加两个下划线(例如:__test)
- 私有方法没有办法直接在类的外部进行访问,报错(AttributeError: ‘Demo’ object has no attribute ‘__test_two’)
- 通过类的内部的方法进行调用
成员
实例属性
实例属性属于对象,只能通过对象访问。定义:self.属性名称;访问self.属性名称或对象.属性名称;
类属性(静态属性)
类属性属于类。创建时仅创建一份,并且所有对象都共享静态属性。执行时可以是类访问也可以是对象访问。
实例方法
普通方法保存在类中,在实例化对象后,一般通过对象调用。第一个参数必须为系统自建参数,默认为self,代指对象本身。
类方法
类方法通过在方法上面添加==@classmethod==装饰器,保存在类中。
静态方法
静态方法通过在方法上面添加==@staticmethod==装饰器,保存在类中。
封装
将属性和方法放到类的内部,通过对象访问属性或者方法,隐藏功能的实现细节,也可以设置访问权限。
继承
继承是一种创建新类的方式,如果子类需要复用父类的属性或者方法时,就可以使用继承。当然,子类也可以提供自己的属性和方法。
- 单继承(子类继承父类 --> 深度优先机制)
- 单继承(优先执行自身 --> 重写,但实际开发者,遵循封闭原则。我们并不会完全的重写父类的方法,而是希望同时实现父类的功能。可以通过super()函数实现)