python3 类

 类的三要素:名称、属性、方法

面向对象的三要素:封装,继承,多态

class Cat(object):
    def __init__(self, new_name=' ', new_age=' '):
        print("我是初始化")
        self.name = new_name
        self.age = new_age
    
     def __str__(self):
        return "%s的年  龄是%s"%(self.name, self.age)



    def eat(self):
        print(self.name +'在吃鱼。。。。')

    def drink(self):
        print(self.name + '在喝水......')

    def introduce(self):
        print('%s的年龄是%s' % (self.name, self.age))



#创建一个属性
tom = Cat()
#调用
tom.eat()
tom.drink()

tom.introduce()

lan = Cat('lan', '18')
lan.eat()
lan.drink()
lan.introduce()
print(lan)
print(tom)

 

#self 谁调用指向谁 就是第一个参数比如tom lan  但不能直接把对象名传进去,这样会报错 可以不用self 可以是a b c都可以 只不过为了统一一个标准使用self

#__init__是用来进行初始化的 默认自动调用 可以用来为参数赋初值

#__str__的作用是当print()实例化过的对象时直接返回一个信息 一般是用来做描述信息用的

#__del__作用是删除当前对象会自动调用

print(sys.getrefcount()) 可以查看当前对象引用了几次

 

 

继承

import sys

class dongwu(object):
    def one(self):
        print('1')
    def two(self):
        print('2')
class gou(dongwu):
    def two(self):
        print('two')
    def three(self):
        print('3')
    def fore(self):
        print('4')
def duotai(temp):
    temp.two
t=gou()
f=dongwu()
x=t
duotai(x)#多态性
t.one()
t.two()

如上所示 dongwu为gou的父类(基类)gou为子类(派生类)

gou中可以使用dongwu中的方法这叫做继承

但发现父类中的方法不是自己想要的 自己再重新写一遍 后面就会调用自己的这叫做重写

想要调用被重写的父类的方法有两种方法:

A)dongwu.two()

B)super(gou, self).one()

可以多继承:即继承多个类 比如C继承 A,B   class C(A,B)这要求程序中尽可能避免出现相同的方法名

多态:

多态指的是一类事物有多种形态,(一个抽象类有多个子类,因而多态的概念依赖于继承)

  1. 序列类型有多种形态:字符串,列表,元组
  2. 动物有多种形态:人,狗,猪

多态性

多态性是指具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同内容的函数。在面向对象方法中一般是这样表述多态性:向不同的对象发送同一条消息,不同的对象在接收时会产生不同的行为(即方法)。也就是说,每个对象可以用自己的方式去响应共同的消息。所谓消息,就是调用函数,不同的行为就是指不同的实现,即执行不同的函数。

 

 

关于类属性、实例属性、类方式、实例方法、静态方法:

https://blog.csdn.net/weixin_38280090/article/details/85931922

关于隐藏属性和私有化法:

https://blog.csdn.net/weixin_38280090/article/details/85302775

关于私有属性使用property访问私有属性:https://blog.csdn.net/weixin_38280090/article/details/85326567

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值