一、定义一个类(不限定定义哪个类)
要求:
a.需要有一个类变量
b.需要有>=2个的对象变量
c.定义一个方法:打印类变量和对象变量
d.使用print打印对象->输出为This is a object
e.实例化两个对象:且两个对象相加等于2
f.为对象添加一个临时变量temp_var
class Student:
var_class = 'power'
def __init__(self, name, grade):
self.name = name
self.grade = grade
def print_var(self):
print('类变量:', Student.var_class)
print('对象变量:', self.name, self.grade)
def __str__(self):
return 'This is a object'
def __add__(self, other):
return 2
kou = Student('love', 90)
print(kou)
long = Student('you', 88)
print(kou + long)
kou.print_var()
kou.var_class = 'temp_var'
print(kou.var_class)
结果:
This is a object
2
类变量: power
对象变量: love 90
temp_var
二、super的使用
定义一个类A, 里面有方法print_info
定义一个类B, 里边有方法print_info和方法say_something
定义一个类C, 里边有方法say_something
定义一个类D, 里边有方法print_info和方法say_something
定义一个类E,继承类A, 类B, 类C,类D
实例化类E的对象
执行print_info和say_something方法
利用super,执行print_info时调用B中print_info
利用super, 执行say_something时调用C中say_something
利用super, 执行print_info和say_something时调用
D中print_info和say_something
class A:
def print_info(self):
print("This is A")
class B:
def print_info(self):
print("This is B")
def say_something(self):
print("B says something")
class C:
def say_something(self):
print("C says something")
class D:
def print_info(self):
print("This is D")
def say_something(self):
print("D says something")
class E(A, B, C, D):
def print_info(self):
super(A, self).print_info()
def say_something(self):
super(B, self).say_something()
def print_info(self):
super(C, self).print_info()
def say_something(self):
super(C, self).say_something()
obj = E()
obj.print_info()
obj.say_something()
结果:
This is D
D says something
This is A
D says something
三、定义一个父类
要求:
包含三个对象变量,且其中一个对象变量使用_命名
定义一个方法:命名使用__命名
定义一个子类继承上边的父类:且定义一个和父类方法名相同的方法(__)
实例化子类的对象
访问带_的对象变量
访问父类中的__xxx方法
访问子类中的__xxx方法
class Students:
def __init__(self, name, grade):
self.name = name
self.grade = grade
self._gender = "woman"
def __print_info(self):
print(self.name, self.grade, self._gender)
class Student(Students):
def __print_info(self):
print(self.name, self.grade, self._gender)
students = Students('long', 88)
student = Student('kou', 90)
print(student._gender)
students._Students__print_info()
student._Student__print_info()
jieg
结果:
women
long 88 women
kou 90 women