Python类的多态的例子
1 # -*- coding: utf-8 -*-
2 # 类的多态
3
4 # 定义Person父类
5 class Person(object):
6 def __init__(self, name, gender):
7 self.name = name
8 self.gender = gender
9 def whoAmI(self):
10 return 'I am a Person,my name is %s' % self.name
11
12
13 # Student类继承Person
14 class Student(Person):
15 def __init__(self, name, gender, score):
16 self.name = name
17 self.gender = gender
18 def whoAmI(self):
19 return 'I am a Student, my name is %s' % self.name
20
21
22 # Teacher类继承Person
23 class Teacher(Person):
24 def __init__(self, name, gender, course):
25 super(Teacher, self).__init__(name, gender)
26 self.course = course
27 def whoAmI(self):
28 return 'I am a Teacher, my name is %s' % self.name
29
30
31 # Who_am_i调用父类whoAmI函数
32 def who_am_i(x):
33 print x.whoAmI()
34
35 p = Person('Tim', 'Male')
36 s = Student('Bob', 'Male', 88)
37 t = Teacher('Alice','Female', 'English')
38
39 who_am_i(p)
40 who_am_i(s)
41 who_am_i(t)
Python类的多态的例子的更多相关文章
- Python 类的多态的运用
#类的多态的运用 #汽车类 class Car(object): def move(self): print("move ...") #汽车商店类 class CarStore(o ...
- Python类总结-多态及鸭子类型
Python天生支持多态. 什么是多态: 一类事务的多种形态. 多态的一个例子 class Alipay(): def pay(self,money): print('用支付宝支付了%s元' % mo ...
- python类的多态
1. 什么是多态 多态指的是同一种/类事物的不同形态 2. 为何要用多态 多态性:在多态的背景下,可以在不用考虑对象具体类型的前提下而直接使用对象 多态性的精髓:统一 ...
- python类的多态、多态性
多态:多态指的是一类事物有多种形态 多态性: class Animal: def run(self): raise AtrributeError("子类必须实现这种方法") cla ...
- Python 类的多态
#python的多态 class Dog(): def eat(self): print("i am dog , eat something . ") class Cat(): d ...
- python 类的私有方法例子
#coding=utf-8 class Person(object): id=12 def __init__(self,name): self.name=name ...
- Python类(四)-多态
多态即一个接口,多种实现 按照平常直接调用 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" class Person(obje ...
- Python进阶-XVII 非python的接口类、多态、python自己的封装
1.python模拟java中的接口类 python中是没有接口类的概念的,因为它支持多继承,但是java不能,所以就提出一个接口类的概念 java : 面向对象编程 设计模式 —— 接口 接口类 : ...
- python类的继承和多态,获取对象信息
继承 类的继承机制使得子类可以继承父类中定义的方法,拥有父类的财产,比如有一个Animal的类作为父类,它有一个eat方法: class Animal(object): def __init__(se ...
随机推荐
- 【SqlServer】【问题收集】删除同一张表中完全相同的记录
1 概述 在Sqlserver中,当通过SqlServer设计器删除同一张表中两条完全相同的记录时,会弹出如下提示: 点击“是” 弹出如下提示,不让删除 2 问题解决 这个问题很简单,用DEL ...
- nginx+redis实现session的共享
上一篇我们介绍了nginx实现的负载均衡和动静分离,可看这边. 我们在文章的末尾说到,负载均衡需要面临的一个问题是内存数据的同步.例如:我有A,B两台服务器做了负载均衡,当我在A服务器上执行了登录并且 ...
- Intellij 如何在新窗口中打开项目
好多程序员都使用intelliJ idea开发项目,由于不小心设置了不在提示打开项目项目方式,所以只能打开一个窗口,而且只能同时打开一个项目,特别郁闷,分享下设置后的效果 工具/原料 Intell ...
- 使用 webpack 打包 font 字体的问题
之前在使用 Vue 做项目的时候使用了 font 字体,然而在打包的时候 font 字体的引用路径不正确. 解决办法就是在 webpack 的配置文件中设置根路径 目录在 \config\index. ...
- DOM&JavaScript示例&练习
以下示例均为html文件,保存至本地就可直接用浏览器打开以查看效果\(^o^)/~ 练习一:设置新闻字体 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...
- python学习中的一些“坑”
一.交互列表元素时,需要注意的坑. 例如: array=[4,5,9,8,10,8,4,0,3,4] 最大的值与第一个元素交换,最小的值与最后一个元素交换 # -*- coding: UTF-8 - ...
- Centos7 安装oracle数据库
参考的内容: http://docs.oracle.com/cd/E11882_01/install.112/e24325/toc.htm#CHDCBCJF http://www.cnblogs.co ...
- CSS 去掉inline-block间隙的几种方法
最近做移动端页面时,经常会用到inline-block元素来布局,但无可避免都会遇到一个问题,就是inline-block元素之间的间隙.这些间隙会导致一些布局上的问题,需要把间隙去掉.对于inlin ...
- CSS学习之首页简单布局
作为一个PHPer,在前端方面javascript.jquery这些的日常工作还搞的定.可对于div+css这些东西可就头疼了,所以现在开始学习CSS 跟着燕十八的教程开始从最基础学起,首先练习一个简 ...
- LeetCode题目总结(二)
我的代码在github上,https://github.com/WINTERFELLS/LeetCode-Answers 这里只提供个人的解题思路,不一定是最好的. Problems 21-40 合并 ...