# 面向对象 # 有意义的面向对象的代码 # 类 = 面向对象 # 类、对象 # 实例化 # 类最基本的作用:封装 class Student(): name = '' age = 0 def print_file(self): print('name:' + self.name ) print('age:' + str(self.age) ) student = Student() student.print_file()
如果想正确引用类里面定义的变量,我们需要使用 self 关键字,类里面的函数是一定要加self,否则会报错。如果想在函数内部使用类定义的变量,是需要在函数里面用 self.变量名
继承:
父类
class Human(): sum = 0 def __init__(self, name, age): self.name = name self.age = age def get_name(self): print(self.name) def do_homework(self): print('This is a parent Method')
子类
from c5 import Human
class Student(Human):
# sum = 0
# def __init__(self, name, age):
# self.name = name
# self.age = age
# self.__score = 0
# self.__class__.sum += 1
def __init__(self, school,name,age):
self.school = school
# Human.__init__(self, name, age) # 普通调用方法,需要补充完成方法的所有传参
super(Student,self).__init__(name,age) # 子类调用父类方法优先使用super
def do_homework(self):
super(Student,self).do_homework()
print('math homework')
student1 = Student('北京路放牛小学', '小明',18)
print(student1.sum)
print(Student.sum)
print(student1.name) # 可以继承变量
print(student1.age)
student1.get_name() # 可以继承方法
student1.do_homework() # 子类于父类的方法重名,优先使用子类的方法