'''
**#实现功能**案列

姓名:王飞 年龄:30 性别:男 工龄:5
我承诺,我会认真教课。
王飞爱玩象棋

姓名:小明 年龄:15 性别:男 学号:00023102
我承诺,我会 好好学习。
小明爱玩足球。

**#案例题目描述:**
1.从案例效果分析有老师和学生2个事物,老师里面有姓名、年龄、性别、工龄几个变量。
2.学生里面有姓名、年龄、性别、学号几个变量。
3.老师里面有讲课、玩和显示信息的show方法。
4.学生里面有学习、玩和显示信息的show方法
5.分析老师和学生里面公有的东西抽象出一个父类出来,将公有的东西写在父类中
6.创建一个老师和一个学生并完成赋值。

**#案列分析**
老师类: Teacher
    属性:姓名、年龄、性别、工龄、

行为:Teach,play,show

学生类: Student
    属性:姓名、年龄、性别、学号

行为:study,play,show

父类:Person
    共有属性:姓名、年龄、性别

共有行为:play,show

'''

#父类

class Person:
#构造方法 成员属性
def __init__(self,name,age,sex):
self.name = name
self.age = age
self.sex = sex
def play(self,xingqu):
print(self.name + "爱玩" +xingqu) def show(self):
print("姓名:%s,年龄:%d, 性别:%s"%
(self.name,self.age,self.sex),end=',') #学生类
class Student(Person):
def __init__(self,name,age,sex,num): #添加功能
super().__init__(name,age,sex)
self.num = num def study(self):
print("%s承诺好好学习"%self.name) def show(self):
super().show()
print("学号:%s"%self.num) #教师类
class Teacher(Person):
def __init__(self,name,age,sex,gongling): 添加功能
super().__init__(name,age,sex)
self.gongling = gongling def teach(self): print("%s承诺好好教课"%self.name) def show(self):
super().show()
print("工龄:%s"%self.gongling)
#创建对象
s1 = Student('小明',18,"男","")
t1 = Teacher("老王",30,"男","") #调用方法
t1.show()
t1.teach()
t1.play("象棋")
s1.show()
s1.study()
s1.play("游戏")

python 面向对象之添加功能的更多相关文章

  1. python面向对象进阶 反射 单例模式 以及python实现类似java接口功能

    本篇将详细介绍Python 类的成员.成员修饰符.类的特殊成员. 类的成员 类的成员可以分为三大类:字段.方法和特性. 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存 ...

  2. Python 面向对象 基础

    编程范式概述:面向过程 和 面向对象 以及函数式编程 面向过程:(Procedure Oriented)是一种以事件为中心的编程思想. 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现 ...

  3. python面向对象进阶(八)

    上一篇<Python 面向对象初级(七)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使 ...

  4. python 面向对象(进阶篇)

    上一篇<Python 面向对象(初级篇)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使 ...

  5. python 面向对象编程学习

    1. 问题:将所有代码放入一个py文件:无法维护 方案:如果将代码才分放到多个py文件,好处: 1. 同一个名字的变量互相不影响 2.易于维护 3.引用模块: import module 2.包:解决 ...

  6. python 面向对象学习

    ------Python面向对象初 下面写一个类的简单实用,以便方便理解类 #python 3.5环境,解释器在linux需要改变 #阅读手册查询readme文件 #作者:S12-陈金彭 class ...

  7. python面向对象(二)——类成员

    Python面向对象    类成员 1.字段         普通字段    属于对象         静态字段    属于类   2.方法 普通方法   触发者是对象    括号里至少一个参数 se ...

  8. Python开发【第七篇】:面向对象 和 python面向对象进阶篇(下)

    Python开发[第七篇]:面向对象   详见:<Python之路[第五篇]:面向对象及相关> python 面向对象(进阶篇)   上一篇<Python 面向对象(初级篇)> ...

  9. Python 面向对象之一

    Python 面向对象之 类与属性 今天接触了一下面向对象,发现面向对象和之前理解的简直就是天壤之别,在学Linux的时候,一切皆文件,现在学面向对象了,so,一切皆对象. 之前不是一直在学的用面向函 ...

随机推荐

  1. MDM-Object.fn 一些实践与理解

    Object.assign() 用于将所有可枚举属性的值从一个或多个源对象复制到目标对象.它将返回目标对象.如果目标对象中的属性具有相同的键,则属性将被源中的属性覆盖.后来的源的属性将类似地覆盖早先的 ...

  2. ASICS各跑鞋分类及选购方法

    从跑吧转来的,老帖子后面的鞋子可能不能与时俱进 不过前面的方法不错. 1简介: ASICS鞋子鞋底如果有AHAR或AHAR+的为超耐磨标志,而且超耐度一般都是黑色,用指甲刮鞋底时如刮车轮底胶.ASIC ...

  3. arm汇编学习(六)---跳转到thumb状态

    通常函数返回使用 pop {r7,pc}或bx lr等方式(bx,b类似jmp为跳转指令,但bx可以指定跳转区域究竟为thumb还是arm指令.thumb指令指令的时候,直接填写该地址却总是产生SIG ...

  4. arm汇编学习(五)

    新增个手写GNU语法arm的方法,以后可以狂逆狂写 hello.S文件 .data msg: .ascii "Hello, ARM!\n" len = . - msg .text ...

  5. SQL日期转换

    SQL 语句日期用法及函数 --DAY().MONTH().YEAR()——返回指定日期的天数.月数.年数: select day(cl_s_time) as '日' from class  --返回 ...

  6. centos aws 修改使用密码ssh登录

    因为使用pem登录有很多局限性,在此修改为用密码但不是root登录 1.关闭selinux(要重启) vi /etc/selinux/config SELINUX=disabled 2.重置root密 ...

  7. docker commit 显示“invalid reference format”

    docker commit的时候一直显示invalid reference format,改了几次也不行,后来发现是因为docker镜像的名字中不能包含大写字母,改成小写后就行了

  8. Error: A JNI error has occurred, please check your installation and try again

    自己写的maven项目打包以后的一个email测试类jar,放到linux上运行时报错: Error: A JNI error has occurred, please check your inst ...

  9. python 面向对象:类,作用域

    类(Class)和实例(Instance) 定义类是通过class关键字:class Student(object): pass class后面紧接着是类名,即Student接着是(object),表 ...

  10. c# HttpWebRequest与HttpWebResponse

    [转]c# HttpWebRequest与HttpWebResponse 绝技 如果你想做一些,抓取,或者是自动获取的功能,那么就跟我一起来学习一下Http请求吧. 本文章会对Http请求时的Get和 ...