• Python- 面向对象


     

    # 面向对象
    # 有意义的面向对象的代码
    # 类 = 面向对象
    # 类、对象
    # 实例化
    # 类最基本的作用:封装
    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() # 子类于父类的方法重名,优先使用子类的方法
  • 相关阅读:
    String的几种初始化方法的区别
    Java编程思想之字符串
    树图 广度优先算法和深度优先算法
    bzoj1047: [HAOI2007]理想的正方形
    bzoj3124: [Sdoi2013]直径
    bzoj3930: [CQOI2015]选数
    bzoj1222: [HNOI2001]产品加工
    bzoj3578: GTY的人类基因组计划2
    bzoj4444: [Scoi2015]国旗计划
    bzoj1040: [ZJOI2008]骑士
  • 原文地址:https://www.cnblogs.com/RzCong/p/8682940.html
Copyright © 2020-2023  润新知