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中类的继 ...
随机推荐
- 无法连接redis问题
今天加入redis但连接一直报无法获取到连接,看配置 今天加入redis但连接一直报无法获取到连接,看配置 ``` <bean id="redisResources" cla ...
- pyplot 绘图与可视化
1. 基本使用 #!/usr/bin/env python # coding=utf-8 import matplotlib.pyplot as plt from numpy.random impor ...
- pyH支持python3
记录下,感谢大神,原地址https://www.cnblogs.com/yunmenzhe/p/6293428.html,侵删 1.修改xxx/python3.5/pyh.py权限 sudo chmo ...
- Mybatis 测试延迟加载
在学习mybatis的延迟加载时,对 lazyLoadingEnabled 和 aggressiveLazyLoading 的区别并不理解,特别是对查询的条件不同时,执行的查询语句也不一样,所以还是测 ...
- 第3章 文件I/O(6)_高级文件操作:文件锁
7. 高级文件操作:文件锁 (1)文件锁分类 分类依据 类型 说明 按功能分 共享读锁 文件描述符必须读打开 一个进程上了读锁,共它进程也可以上读锁进行读取 独占写锁 文件描述符必须写打开 一个进程上 ...
- Spark分析之Job Scheduling Process
经过前面文章的SparkContext.DAGScheduler.TaskScheduler分析,再从总体上了解Spark Job的调度流程 1.SparkContext将job的RDD DAG图提交 ...
- 提高solr的搜索速度
之前是使用12台机分布式搜索,1台为主机做索引并分发给子机,8台做大索引搜索服务,3 台做小索引搜索服务,配置基本是内存在4-8G,cpu:2-8core的服务器,索引的大小为8G.搜索的响应时间 是 ...
- treap Python实现
# coding=utf-8 # treap(树堆)Python实现 import random def preorder_tree_walk(node): if node: print node.k ...
- 使用html和CSS进行网页网站设计 -- 简明步骤
网页制作流程: 1. 心中有规划,网站的骨架结构,页面布局layout. 2. 创建一个用于创建模板dwt的html页: main.html 3. 制作main.html: (1) 在html文件中依 ...
- uva-784-水题-搜索
题意:从*点开始,标记所有能走到的点,X代表墙,下划线原样输出 AC:40ms #include<stdio.h> #include<iostream> #include< ...