Python 【类的多态】

一.多态

#类的多态

class Animal(object):  #Animal类继承object

    def __init__(self,color):

        self.color = color

    def eat(self):

        print("动物在吃!")

    def run(self):

        print("动物在跑")

class Cat(Animal):  #Cat继承Aninal  继承[属性和方法]

    def eat(self):  #方法重名
        print("猫仔!")

class Dog(Animal):  #继承时候,方法重名用子方法

    def __init__(self,name,age,color):
        super(Dog,self).__init__(color)  #super表示父类,调用父类的初始化方法

        self.name = name

        self.age = age

    def eat(self):  #方法重名
        print("狗仔!")

#多态
def feed(obj):
    obj.eat()

#对象作为参数传入

an = Animal("黄")
cat = Cat("橘黄")
dog = Dog("小黑",12,"黑色")

feed(an)
feed(cat)
feed(dog)

上面有三种类,Animal类、Cat类、Dog类,三种类中都有共同的方法eat()

使用方法

def feed(obj):
    obj.eat()

将对象当参数传入,对应的所有方法执行

原文地址:https://www.cnblogs.com/Crown-V/p/12389380.html

时间: 2024-07-29 10:41:49

Python 【类的多态】的相关文章

python类的多态、多态性

多态:多态指的是一类事物有多种形态 多态性: class Animal: def run(self): raise AtrributeError("子类必须实现这种方法") class Person(Animal): pass p = Person() p.run() 通过父类主动抛出一个异常,告诉你子类中必须自己要写这个方法 改子类如下 class Person(Animal): def run(self): print("人跑") 再定义几个子类 def Dog

Python类(四)-多态

多态即一个接口,多种实现 按照平常直接调用 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" class Person(object): def __init__(self,name): self.name = name class Student(Person): def talk(self): print('%s is studying'%self.name) class Teacher(Person): def talk(sel

python类的继承和多态

python类的继承和多态 现在属于是老年人的脑子,东西写着写着就忘了,东西记着记着就不知道了.之前学C++的时候就把类.对象这块弄得乱七八糟,现在是因为很想玩python,所以就看看python的类和对象. 就像说的,类有三个特征:封装.继承.多态. 1.封装:类封装了一些方法,可通过一定的规则约定方法进行访问权限. C++中的成员变量有public.private.ptotected. 在python中,默认的成员变量都是public的,如果成员变量前面是加两个下划线,表示该成员变量是私有的

python 继承和多态

在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类(Base class.Super class). 比如,我们已经编写了一个名为Animal的class,有一个run()方法可以直接打印: class Animal(object): def run(self): print 'Animal is running...' 当我们需要编写Dog和Cat类时,就可以直接从Animal

python类及其方法

python类及其方法 一.介绍 在 Python 中,面向对象编程主要有两个主题,就是类和类实例类与实例:类与实例相互关联着:类是对象的定义,而实例是"真正的实物",它存放了类中所定义的对象的具体信息. 类有这样一些的优点: 1.类对象是多态的:也就是多种形态,这意味着我们可以对不同的类对象使用同样的操作方法,而不需要额外写代码. 2.类的封装:封装之后,可以直接调用类的对象,来操作内部的一些类方法,不需要让使用者看到代码工作的细节. 3.类的继承:类可以从其它类或者元类中继承它们的

python类的相关知识第二部分

类的继承.多态.封装 一.类的继承 1.应用场景: 类大部分功能相同,大类包含小类的情况 例如: 动物类 共性:都要吃喝拉撒.都有头有脚 特性: 猫类.走了很轻,叫声特别,喜欢白天睡觉 狗类.的叫声很大,晚上睡觉 2.继承顺序 在python2版本中多重继承有分两种继承循序 (1).一直往上找 .找到最高级的父类再重另外一个分支找,直到找到为止. (2).一直往上找,找到最高级父类的下一层后就不找了.从另外一个分支找,另外一个分支没找到最后才找最高级的父类. 再python3中只有第一种继承循序

python 类知识点总结

python 类知识点总结 面向对象思想: 1.设计的时候,一定要明确应用场景 2.由对象分析定义类的时候,找不到共同特征和技能不用强求 1.简述类.对象.实例化.实例这些名词的含义: 类:从一组对象中提取对象共同的特征和属性,构成一个类. 对象:具有数据属性和函数属性的集合体 实例化:由类生成一个对象的方法,就是实例化 实例:类的实例化就会产生一个实例(对象) 类: 对象就是类的抽象 类实例成对象的过程就是实例化 实例就是对象 2.面向对象的三大特性是什么? 继承,多态,封装 3.什么是方法?

Python基础:Python类(真累~)

类的声明: 一.类的属性 (私有属性和公有属性) (类属性) 二.类的方法 (构造方法.析构方法.自定义方法.特殊成员方法) (静态方法.类方法.类属性) 三.类的继承 (方法和属性的继承,方法的重构) (抽象类,多重继承) 四.类的多态 (实现接口的重用) 五.类的特殊装饰 (@staticmethod.@classmethod.@property) 六.类的来源和原类(metaclass) 七.反射 类的声明 使用class声明类,建议类名单词首字母大写. "新式类"和"

Python学习(十一) Python 类

Python 类 面向对象编程是有效的软件编写方法之一. python程序编写方法 1.函数编程,使用函数方式 2.面向对象编程,使用类方式 创建类 创建方法 构造方法,__init__(self,arg) obj = 类('a1') 普通方法 obj = 类('xxx') obj.普通方法名() 格式如下: class DataBaseHelper: def __init__(self, ip, port, username, pwd): self.ip = ip self.port = po