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中类的继 ...
随机推荐
- 1115 Counting Nodes in a BST (30 分)
1115 Counting Nodes in a BST (30 分) A Binary Search Tree (BST) is recursively defined as a binary tr ...
- matlab批量修改图片大小
转自:http://blog.csdn.net/cike0cop/article/details/53087995 %author:coplin %time:2016-10-10 %function: ...
- Vue 路由的编程式导航与history模式
编程式导航 注意:官方文档写错了 通过javascript跳转 //第一种跳转方式 // this.$router.push({ path: 'news' }) // this.$router.pus ...
- ZooKeeper系列(2) 安装部署 (转)
原文地址:http://www.cnblogs.com/wuxl360/p/5817489.html 一.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模 ...
- 常用Java程序片段
1.改变数组的大小 package com.js.ai.modules.jsa.test; public class Testxf { private static Object resizeArra ...
- 关于sencha touch在华为、红米等部分手机下hide事件失效,msgbox无法关闭的解决方案(已更新最新解决方案)
(急着解决问题的同学可以直接跳最底部查看最终的解决方案) 问题描述 因为前段时间抢到了华为荣耀3c,所以做项目的时候就用荣耀3c测试了一下项目, 结果发现在华为的emotion ui上sencha t ...
- 在windows 下将 chm 格式的文件 转换成 html 的文件
有时我们可能需要将 chm 格式的文件 转换成 html 格式的网页文件,这时,如果你使用的是 windows 操作系统,那就可以用 windows 操作系统自带的反编译工具来完成这项任务,具体步骤: ...
- 玩转laravel5.4的入门动作(一)
安装前 1 laravel是用composer来做的依赖关系,所以先下载composer 下载地址在这里https://getcomposer.org/download/ windows lin ...
- smyfony2-curd-数据库创建
1创建类
- spring boot 整合 (全)
参考: https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples