yandyand

导航

python之面向对象4

#:本次需要准备两个文件 

#1:Persion.py   面向对象4.py

#:首先是Persion.py文件中的内容:

#:创建我们的类
'''
类的作用描述一个人的形象
'''

class persion:
def __init__(self,name,age,rmb):
self.name = name
self.age = age
self.rmb = rmb

def tell(self):
print("我叫做%s,我今年%s,我有%sRMB"%(self.name,self.age,self.rmb))

if __name__ == '__main__': #:使用main函数使其下面的内容不会在调用的时候被执行
p = persion("杨洋",21,4000)
p.tell()

#:然后是面向对象4.py

#:第一种调用方式
# from Persion import *
# p = persion("杨洋",21,4000)
# p.tell()

#:第二种调用方式
# import Persion
# p = persion("杨洋".21.4000)
# p.tell()


'''
from 来自哪个你的类文件
import 调用的类 又或者是你想调用谁

基本使用第一种方式进行调用,第二种路径不对的话还需要写绝对路径
'''
'''
继承:可以使用继承类中的方法
'''

# #:导入Persion文件里的persion类
# from Persion import persion
#
# class Basterd(persion): #:继承persion 表示可以使用persion里面的类
# pass
#
# if __name__ == '__main__': #:加了main语句表示 下面的内容方法只能在本文件中调用,其他文件在调用的时候不会执行下面的内容
# b = Basterd("余罪",22,10000)
# b.tell() #:调用persion类中的tell方法


'''
方法拓展:会继续沿用父类得属性
方法重写:完全覆盖父类的方法
super() :方法拓展
方法重写 就是在把父类的方法再写一遍 可以这么理解
'''

#:举一个例子:
#1:要求在persion类中添加一个新的属性"badhobby"
#2:重写persion类中的tell()方法
from Persion import persion
# class badpersion(persion):
# def __init__(self,name,age,rmb,badhobby):
# super().__init__(name,age,rmb) #:super() 继续使用name,age,rmb 属性
# self.badhobby = badhobby #:添加一个新的属性到__init__实例中
#
# def tell(self):
# print("我叫%s,我%s岁了,我有%sRMB,我喜欢%s."%(self.name,self.age,self.rmb,self.badhobby))
#
# p = badpersion("杨洋",21,6000,"酒后开车") #:因为我已经在上面拓展了一个属性"badhobby",所以在实例化的时候我就要多添加一个参数
# p.tell()
#:方法拓展2
#:继续使用父类的方法 并且在重写一个自己的方法

# from Persion import persion
# class badpersion(persion):
# def __init__(self,name,age,rmb,badhobby):
# super().__init__(name,age,rmb)
# self.badhobby = badhobby
#
# def tell(self):
# super().tell() #:继续沿用父类的方法,所以只会打印出父类的tell()方法,
# print("我叫%s,我%s岁了,我有%sRMB,我做过%s."%(self.name,self.age,self.rmb,self.badhobby)) #:因为这个tell()方法我们已经重写了,所以慧执行后面的badhobby
#
# p = badpersion("杨洋",21,2000,"酒驾")
# p.tell()


'''
封装男人类,继承于persion类,使之有阳刚风格的自我介绍,使之能咆哮
封装女人类,继承于persion类,使之有柔美的自我介绍,使之能娇羞
封装gay类,使之有具有男人和女人类的特性
'''

from Persion import persion
class man_persion(persion):
def __init__(self,name,tone):
super().__init__(name,tone)
def paoxiao(self):
print("我会咆哮")

man = man_persion("男人","阳刚之气")
man.tell()
man.paoxiao()

class womon_persion(persion):
def __init__(self,name,tone):
super().__init__(name,tone)
def jiaoxiu(self):
print("我会娇羞~")

woman = womon_persion("女人","阴柔之美")
woman.tell()
woman.jiaoxiu()


class gay_perion(womon_persion,man_persion):
def __init__(self,name,tone):
super().__init__(name,tone)
def tell(self):
print("我是%s,我有%s"%(self.name,self.tone))

gay = gay_perion("基佬","阴阳之美")
gay.tell()
gay.paoxiao()
gay.jiaoxiu()




posted on 2020-06-21 22:58  yandyand  阅读(107)  评论(0编辑  收藏  举报