Python中get和set 方法
import sys
class Student:
def set_namme(self,name):
self.name=name
def get_name(self):
return self.name
stu=Student()
print(sys.getrefcount(stu))#查询对象的引用个数 前题先导入sys模块
stu.set_namme('abc')#用set_name添加值
print(stu.get_name())#用get_name方法获取值
Python中继承
面向对向的三大特征:封装,继承,多态
继承:子类继承父类,子类可以使用父类的属性和方法,简化代码
当生成子类对象时,先初始化父类对象,所以如果父类有__init__()方法,并且有属性时,要通过子类的构造赋值
Python中所有的类继承了object是所有类的父类
一个类可以有多个子类
子类与父类参数进行分工
class person:
def __init__(self,name,sex,height):
self.name=name
self.sex=sex
self.height=height
def eat(self):
print("%s在吃饭"%self.name)
print("正在吃饭")
class Student(person):#子类继承了person类
def __init__(self,name,sex,height,score):
person.name = name #这是父类传参赋的name值
person.sex = sex#这是父类传参赋的sex值
person.height = height#这是父类传参赋的height值
self.score = score#这是子类自己的参数的值
#即使什么都没有也能运行父类中的方法
stu=Student("张三","男",1.8,80)#创建一个对象
stu.eat() #调用父类中的方法
在子类中,调用父类属性,在__init__方法中使用
一、父类 . 属性
二、Self . 属性
在子类中,调用类方法
一、Super().方法名称()
二、Self.方法名称()
总结:当子类继承父类时,子类的的构造方法应该包含父类和子类共同的属性,在子类的初始化方法中,将父类的属性传递给父类,子类的属性赋值给子类
练习:
交通工具类:属性:名称--方法:行驶
子类:卡车. 属性:载重
子类:火车 属性:车箱个数class vehicle: def __init__(self,name): self.name=name def xingshi(self): print("%s正在公路上行驶...."%self.name) class kcar(vehicle): def __init__(self,name,zaizhong): vehicle.name=name self.zaizhong=zaizhong def xingshi(self): super().xingshi() class hcar(vehicle): def __init__(self,name,count): vehicle.name=name self.count=count k=kcar('卡车',9000) k.xingshi() print("卡车的载重是%d吨"%(k.zaizhong)) h=hcar('火车',10) h.xingshi() print("火车的车箱个数是%d"%(h.count))