概述
私有成员
1. 概念: 私有成员 只能在 本类 内部使用
好处:
1.保护私有属性不被随意修改
2.提高封装性,将用户不需要使用的功能设置为私有, 用户只需要关心公有的.
语法:
在成员名前面加 两个 下划线, 这样的成员就是私有成员
self.__属性名 = 值
def __方法名(self):
pass
__del__方法
1. 调用时机: 对象空间 被销毁的时候, 自动调用 对象上的 __del__ 方法
class 类名(object):
def __del__(self):
# 对象被销毁的时候自动调用执行, 清理对象占用的资源 或者 明确对象的销毁时机
pass
2. 对象的销毁时机
a. 脚本执行结束, python占用的所有内存资源都被释放, 包括对象空间(python垃圾回收机制)
b. 对象的没有被任何变量引用的时候, 对象被当做垃圾回收了
手动清空对象空间:
del 对象变量
对象变量 = None
继承(重点)
1. 概念: 子类继承父类, 直接使用父类上的成员(属性和方法)
语法:
class 子类名(父类名): # 默认继承 object
# 子类新增的成员
pass
注意: 私有成员不能被继承
2. 继承的特征
a. 单继承
b. 多层继承
c. 多继承(骡子 同时继承 马和驴)
d. 重写
概念: 子类中定义了与父类相同名字的成员, 即子类重写父类成员
属性重写
方法重写
方法重写:
当父类上的方法不满足子类需要,但是子类不得不使用该方法,则在子类中重写父类方法.
例如: 子类和父类 初始属性不同, 需要重写 __init__ 方法
调用父类上的方法:
super().父类方法名([实参])
super(子类名,self).父类方法名([实参])
例如:
class Goods(object):
def __init__(self,name,price):
self.name = name
self.price = price
class Phone(Goods):
def __init__(self,name,price,brand,size,color):
#self.name = name
#self.price = price
super().__init__(name,price) # 调用父类上的方法
self.brand = brand
self.size = size
self.color = color
e. 多态(了解): 继承,重写, 相同的方法实现的功能不同, 这就是多态
3. 查看对象信息
type(对象) : 查看对象的类名(类型)
dir(对象) : 查看对象上的所有的属性(属性和方法都称为属性)
isinstance(对象,类名): 判断对象是否是指定类的实例(对象)
类属性和实例属性
1. 实例属性: 对象上的属性
绑定方式:
动态: 对象变量.属性名 = 值
初始化方法中绑定: self.属性名 = 值
2. 类属性: 类上的属性
绑定方式:
动态: 类名.属性名 = 值
在类中绑定:
class 类名(object):
类属性名 = 值
访问:
类名.类属性名
作用: 将所有对象共享的属性设置为类属性, 所有的对象都能使用, 从而节约内存空间.
类方法和静态方法
class 类名(object):
# 实例方法
def 方法名(self,[形参]):
pass
# 类方法
@classmethod
def 类方法名(cls,[形参]):
# cls == class 调用的那个类
pass
# 静态方法
@staticmethod
def 静态方法名([形参]):
pass
# 调用
类名.类方法名()
类名.静态方法名()
最后
以上就是明理芝麻为你收集整理的继承的全部内容,希望文章能够帮你解决继承所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复