Python3知识点:面向对象

对象:某个具体事物的存在,在现实世界中看得见摸得着的,可直接使用的

类:具有共同特征和行为的一组对象的抽象定义。

#父类
class people():
    extinct = True    #类属性,如果需要在类外修改类属性,必须通过类对象去引用然后进行修改。                         如果通过实例对象去引用,会产生一个同名的实例属性,这种方式修改的是实例                       属性,不会影响到类属性,并且之后如果通过实例对象去引用该名称的属性,实                       例属性会强制屏蔽掉类属性,即引用的是实例属性,除非删除了该实例属性。
    __weight = 0            #私有类属性,不能够被子类所继承

    #构造函数
    def __init__(self,n,a):
        self.name = n        #实例属性
        self.age = a

     # 类方法,对类属性进行封装
    @classmethod
    def get__weight(cls):
        return cls.__weight

    @classmethod
    def set__weight(cls, w):
        cls.__weight = w

    #重载,print时会调用该方法
    def __str__(self):
        return '%s的年龄是%d,体重是%dkg'%(self.name,self.age,self.__weight)

    def fun(self):
        print("调用父类people的方法")
    #静态方法
    @staticmethod
    def isalive():
        if people.extinct:
            print("还活着")
        else:
            print("已死亡")

#子类
class student(people):
    def __init__(self,n,a,w,g):
        people.__init__(self,n,a)
        self.__weight = w
        self.grade = g

    def __str__(self):
        return '%s的年龄是%d,体重是%dkg,分数是%d'%(self.name,self.age,self.__weight,self.grade)

    # 覆盖父类方法
    def fun(self):
        print("调用子类student的方法")


p = people('will',13)
people.set__weight(33)
print(p)
print(people.get__weight())
people.isalive()

s = student('sue',12,35,90)
print(s)
s.fun()
#调用已被覆盖的父类方法
super(student,s).fun()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值