标签:通过 继承 对象 多种实现 function 代码 ted 访问 需要
CLASS类
一个类是对一类拥有相同属性的对象的抽象
类的特性
封装:
防止数据被随意修改,
使外部程序不需要关注对象内部的构造,只需要通过对象对外提供的接口进行直接访问即可
继承:
通过父类-子类的方式以最小代码量的方式实现,不通角色的共同点和不同点
多态:
一个接口,多种实现
实例
class Dog(object):
aaa = ‘22‘
def __init__(self, name):
self.Name = name
def sayhi(self):
print("I am dog: %s" % self.Name)
def __del__(self):
print("deleted")
d1 = Dog("andy")
self就是d1本身
__init__: 构造函数
sayhi(): 方法, 动态属性
self.Name: 成员属性,只属于一个实例
self.__xxx: 私有属性
aaa: 公有属性
强制访问私有属性: d1._Dog__xxx
__del__(self),析构函数,可自己定义,系统也会默认自带
继承:
class Dog(object):
def __init__(self, name, age, gender):
self.Name = name
self.Age = age
self.Gender = gender
self.__xx = ‘default‘
def sayhi(self):
print("I am a dog: %s" % self.Name)
def __del__(self):
print("deleted")
class persion(Dog):
def __init__(self, name, age, gender): # 先继承,再重构
Dog.__init__(self, name, age, gender)
print(self.Name, self.Age)
super(persion, self).sayhi() # 新式类用法
def sayhi(self):
Dog.sayhi(self)
print("I am a persion: %s" % self.Name)
c = persion("andy", "45", "male")
#打印实例所有属性
print(c.__dict__)
# 新式类写法
class A(object):
super(curren_class, self).function()
# 经典类写法
class B:
ParentClass.__init__
c = persion("andy", "45", "male")
c.sayhi()
标签:通过 继承 对象 多种实现 function 代码 ted 访问 需要
原文地址:https://www.cnblogs.com/hinimix/p/9009282.html