python之面向对象之继承
#写一个类SchoolMember
class SchoolMember(object):
member_num = 0
def __init__(self,name,age,sex):
self.name = name
self.age = age
self.sex = sex
self.reg()
# self.member_num += 1
def reg(self):
SchoolMember.member_num += 1
print("SchoolMember[%s] is come to school,SchoolMember [%s] is already registered" %(self.member_num,self.name))
def tell(self):
print("hello,my name is [%s],and my age is [%s]" %(self.name,self.age)) #写一个SchollMember的子类teacher
class Teacher(SchoolMember):
def __init__(self,name,age,sex,course,salary):
super(Teacher,self).__init__(name,age,sex)
self.course = course
self.salary = salary
def teaching(self):
print("Teacher [%s] is teaching [%s]" %(self.name,self.course)) class Student(SchoolMember):
def __init__(self,name,age,sex,course,xufei):
super(Student,self).__init__(name,age,sex)
self.course = course
self.xufei = xufei
def pay_money(self):
print("student [%s] must pay [%s] to school" %(self.name,self.xufei)) #首先分别创建2个teacher的实例和2个student的实例 print("首先分别创建2个teacher的实例和2个student的实例")
t1 = Teacher("teacher1","12","M","python","123")
t2 = Teacher("teacher2","13","M","shell","234")
s1 = Student("Student1","1","W","python","1234")
s2 = Student("Student2","2","M","shell","12345") # 首先分别创建2个teacher的实例和2个student的实例
# SchoolMember[1] is come to school,SchoolMember [teacher1] is already registered
# SchoolMember[2] is come to school,SchoolMember [teacher2] is already registered
# SchoolMember[3] is come to school,SchoolMember [Student1] is already registered
# SchoolMember[4] is come to school,SchoolMember [Student2] is already registered print("teacher调用父类SchoolMember的方法tell")
t1.tell()
t2.tell() # teacher调用父类SchoolMember的方法tell
# hello,my name is [teacher1],and my age is [12]
# hello,my name is [teacher2],and my age is [13] print("teacher实例调用teacher类的方法")
t1.teaching()
t2.teaching() # teacher实例调用teacher类的方法
# Teacher [teacher1] is teaching [python]
# Teacher [teacher2] is teaching [shell] print("student调用父类SchoolMember的方法tell")
s1.tell()
s2.tell() # student调用父类SchoolMember的方法tell
# hello,my name is [Student1],and my age is [1]
# hello,my name is [Student2],and my age is [2] print("student实例调用student类的方法")
s1.pay_money()
s2.pay_money() # student实例调用student类的方法
# student [Student1] must pay [1234] to school
# student [Student2] must pay [12345] to school
python之面向对象之继承的更多相关文章
- python之面向对象(继承)
类的继承 python之面向对象(继承) 面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制.继承完全可以理解成类之间的类型和子类型关系. 需要注意的地方:继承语法 c ...
- Python之面向对象:继承
概念:子类继承父类的属性和方法. 一个派生类(derived class)继承基类(bass class)字段和方法.继承也允许把一个派生类的对象作为一个基类对象对待. 一.单继承 :推崇.特点和使用 ...
- python基础--面向对象之继承
# 继承是一种创建新类的方式,新建的类可以继承一个,或者多个父类, # 父类又可以称为基类或者超类,新建的类可以称为派生类,子类 class ParentClass1: # 定义父类 1 pass c ...
- Python 面向对象编程 继承 和多态
Python 面向对象编程 继承 和多态 一:多继承性 对于java我们熟悉的是一个类只能继承一个父类:但是对于C++ 一个子类可以有多个父亲,同样对于 Python一个类也可以有多个父亲 格式: c ...
- python面向对象编程 继承 组合 接口和抽象类
1.类是用来描述某一类的事物,类的对象就是这一类事物中的一个个体.是事物就要有属性,属性分为 1:数据属性:就是变量 2:函数属性:就是函数,在面向对象里通常称为方法 注意:类和对象均用点来访问自己的 ...
- Py修行路 python基础 (十五)面向对象编程 继承 组合 接口和抽象类
一.前提回忆: 1.类是用来描述某一类的事物,类的对象就是这一类事物中的一个个体.是事物就要有属性,属性分为 1:数据属性:就是变量 2:函数属性:就是函数,在面向对象里通常称为方法 注意:类和对象均 ...
- python语法学习面向对象之继承
python语法学习面向对象之继承 转载自:http://www.cnblogs.com/Joans/archive/2012/11/09/2757368.html 只要涉及到面向对象,”类“是必须出 ...
- 转 python语法学习面向对象之继承
传送门 python语法学习面向对象之继承 只要涉及到面向对象,”类“是必须出现的一个代名词. 类和对象是面向对象编程的两个主要方面.类创建一个新类型,而对象是这个类的实例. 类的一些概念: 包括初始 ...
- Python之面向对象继承和派生
Python之面向对象继承和派生 什么是继承: 继承是一种创建新的类的方法.在Python中,新建的类可以继承自一个或多个父类.原始类称为基类或超类. 新建的类称为派生类或子类. Python中类的继 ...
随机推荐
- 正则捕获的细节及replace分析
1.var reg=/./与var reg=/\./的区别? 前者代表任意一个字符, 后者代表这个字符串中得有一个点 2.?的使用 如果单独的一个字符后面带? 代表1个或0个这个字符的出现: 列如: ...
- VMware vCenter Server安装
SQL Server 2008 R2安装包:http://blog.sina.com.cn/s/blog_4aedf6370101j9tz.html SQL Server安装指导:http://www ...
- 关于文章cisco漏洞4786
查看确认方法 [root@nodchen ~]# nmap -p4786 172.30.4.2 Starting Nmap 5.51 ( http://nmap.org ) at 2017-05-20 ...
- Opencv 入门学习之图片人脸识别
读入图片,算法检测,画出矩形框 import cv2 from PIL import Image,ImageDraw import os def detectFaces(image_name): im ...
- linux中nmcli命令使用及网络配置
nmcli命令与配置文件对应关系 主机名: 如果说你没有设置主机名的话,默认是localhost.localdomain 修改配置文件的主机名 # hostnamectl set-hostname ...
- Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(五)技能属性集(AttributeSet)
如果没有完成前面的教程,请前往学习.先上一段理论介绍(源于https://wiki.unrealengine.com/GameplayAbilities_and_You#GameplayTasks): ...
- Win10巧用自带输入法轻松打出特殊字符
给电脑输入信息时,如果要用上键盘上没有的特殊符号,那就为难了.其实,在Win10中,自带的微软拼音就能让你轻松输入键盘上没有的符号.下面来看看Win10如何输入特殊符号. 微软拼音不但中文输入智能化做 ...
- ORA-03113:通信通道的文件结尾
问题: 用命令startup启动实例时,报错“ORA-03113:通信通道的文件结尾”. 解决: SQL> startup mount ORACLE 例程已经启动. Total System G ...
- 关于javascript的cookie的封装
/******************cookie*********************/ /* cookie的组成部分: 名称:唯一值,不区分大小写,必须经过URL编码 值:必须经过URL编码 ...
- 第8章 信号(1)_Linux信号处理机制
1. 信号的基本概念 1.1 基本概念 (1)信号(signal)机制是linux系统中最为古老的进程之间的通信机制,解决进程在正常运行过程中被中断的问题,导致进程的处理流程会发生变化. (2)信号本 ...