#写一个类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之面向对象之继承的更多相关文章

  1. python之面向对象(继承)

    类的继承 python之面向对象(继承) 面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制.继承完全可以理解成类之间的类型和子类型关系. 需要注意的地方:继承语法 c ...

  2. Python之面向对象:继承

    概念:子类继承父类的属性和方法. 一个派生类(derived class)继承基类(bass class)字段和方法.继承也允许把一个派生类的对象作为一个基类对象对待. 一.单继承 :推崇.特点和使用 ...

  3. python基础--面向对象之继承

    # 继承是一种创建新类的方式,新建的类可以继承一个,或者多个父类, # 父类又可以称为基类或者超类,新建的类可以称为派生类,子类 class ParentClass1: # 定义父类 1 pass c ...

  4. Python 面向对象编程 继承 和多态

    Python 面向对象编程 继承 和多态 一:多继承性 对于java我们熟悉的是一个类只能继承一个父类:但是对于C++ 一个子类可以有多个父亲,同样对于 Python一个类也可以有多个父亲 格式: c ...

  5. python面向对象编程 继承 组合 接口和抽象类

    1.类是用来描述某一类的事物,类的对象就是这一类事物中的一个个体.是事物就要有属性,属性分为 1:数据属性:就是变量 2:函数属性:就是函数,在面向对象里通常称为方法 注意:类和对象均用点来访问自己的 ...

  6. Py修行路 python基础 (十五)面向对象编程 继承 组合 接口和抽象类

    一.前提回忆: 1.类是用来描述某一类的事物,类的对象就是这一类事物中的一个个体.是事物就要有属性,属性分为 1:数据属性:就是变量 2:函数属性:就是函数,在面向对象里通常称为方法 注意:类和对象均 ...

  7. python语法学习面向对象之继承

    python语法学习面向对象之继承 转载自:http://www.cnblogs.com/Joans/archive/2012/11/09/2757368.html 只要涉及到面向对象,”类“是必须出 ...

  8. 转 python语法学习面向对象之继承

    传送门 python语法学习面向对象之继承 只要涉及到面向对象,”类“是必须出现的一个代名词. 类和对象是面向对象编程的两个主要方面.类创建一个新类型,而对象是这个类的实例. 类的一些概念: 包括初始 ...

  9. Python之面向对象继承和派生

    Python之面向对象继承和派生 什么是继承: 继承是一种创建新的类的方法.在Python中,新建的类可以继承自一个或多个父类.原始类称为基类或超类. 新建的类称为派生类或子类. Python中类的继 ...

随机推荐

  1. 文字和img、input并排无法对齐的问题

    文字和img.input并排在一行的时候,img和input位置总是会偏移一点,input就用复选框和按钮举例,如下图: 只要在img和input样式加上vertical-align:middle;就 ...

  2. 利用百度翻译API,获取翻译结果

    利用百度翻译API,获取翻译结果 translate.py #!/usr/bin/python #-*- coding:utf-8 -*- import sys reload(sys) sys.set ...

  3. 安卓手机安装虚拟定位的方法Xposed安装器+模拟位置(Xposed模块)

    原文:https://www.52pojie.cn/thread-571328-1-1.html 未测试,据说只支持某些手机,小米和华为很难安装,建议买其他品牌. Xposed安装器步骤:·ROOT你 ...

  4. [UE4]C++创建对象的三种方式

    #include <iostream> using namespace std; class A { private: int n; public: A(int m):n(m) { } ~ ...

  5. sklearn.svm.SVC 参数说明

    原文地址:sklearn.svm.SVC 参数说明 ============================== 资源: sklearn官网+DOC 库下载GitHub =============== ...

  6. 并发工具类(三)控制并发线程的数量 Semphore

    前言   JDK中为了处理线程之间的同步问题,除了提供锁机制之外,还提供了几个非常有用的并发工具类:CountDownLatch.CyclicBarrier.Semphore.Exchanger.Ph ...

  7. openssl - cookbook

    1.openssl 2.Testing 3.Best Practices last 1.openssl 1.1.Key and Cerificate Management Run a web serv ...

  8. ASP.NET CMS: Administration Template

    ASP.NET CMS: Administration Template For many creating advanced ASP.NET website or application admin ...

  9. Python函数名为参数

    1.定义两个函数,求和函数和最大函数 def add(x, y): return x + y def maxnum(x, y): return x if x > y else y lst= [2 ...

  10. quartz 定时任务的增删改

    参考:  https://blog.csdn.net/llmys/article/details/81069863