类的继承

coding:utf-8

面向对象编程的三个基本特征:继承、多态、封装。

函数只是封装的最基本单位,而类和对象则是属于更高级的封装方式,在类中封装属性用于保存数据,在类中封装函数用于操作数据,不同的功能和逻辑可以封装成不同的函数。

继承中耦合性太强

继承的优势:父类和子类,可以更好的实现代码的重用。
1>子类通过继承父类,子类可以拥有父类的所有属性和函数,子类不需要重复声明;父类的对象是不能调用子类的属性和方法的。该继承属于单向继承。
2>当父类的属性或者函数不符合子类需求的时候,子类可以重写父类属性和方法或者定义一些新的方法。

object: 该类是所有的类的根类,所有类的形成都是基于object类完成的。
如果声明的某一个类,没有特别指定父类,一般都继承于object。
Animal类是子类,object是父类

class Animal(object):
    def __init__(self, name, color):
        self.name = name
        self.color = color

    def run(self):
        print 'run().........'

声明一个类继承于Animal类

class Dog(Animal):
    def eat(self):
        print 'eat()-------'

class Cat(Animal):
    pass

Dog()类中,并没有声明_init_()初始化函数,但是,由于Dog类继承于Animal类,所以,Dog()类的对象去执行了父类Animal的初始化函数,在创建Dog()类对象时,必须指定_init_()函数中的实参。

dog = Dog('花花', 'yellow')
print dog.run()
print '狗名字:',dog.name
print '狗颜色:',dog.color

cat = Cat('花花猫', 'red')
print cat.run()
print '猫名字:',cat.name
print '猫颜色:',cat.color


# ani = Animal('动物', '黑色')
# ani.eat()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值