Python 类的三大特性的综合运用 案例
# --------------------- 类的三大特性的综合运用 案例 -------------------------
# 定义三个类:小狗,小猫,人
# 小狗:姓名,年龄(默认1岁) 吃饭,玩,睡觉,看家(格式:名字是xx,年龄xx岁的小狗在xx)
# 小猫:姓名,年龄(默认1岁) 吃饭,玩,睡觉,捉老鼠(格式:名字是xx,年龄xx岁的小猫在xx)
# 人:姓名,年龄(默认1岁),宠物 吃饭,玩,睡觉,(格式:名字是xx,年龄xx岁的人在xx)
# 养宠物(让所以的宠物吃饭,玩,睡觉)
# 工作(让所有的宠物做自己工作职能的工作) class Person():
def __init__(self, name, pets, age=1):
self.name = name
self.pets = pets
self.age = age def eat(self):
print("%s 在吃饭" % self) def play(self):
print("%s 在玩" % self) def sleep(self):
print("%s 在睡觉" % self) def yangPets(self):
print("%s 养宠物" % self)
for pet in self.pets:
pet.eat()
pet.play()
pet.sleep() def make_pets_work(self):
# for pet in self.pets:
# if isinstance(pet, Dog):
# pet.wacth()
# elif isinstance(pet, Cat):
# pet.cacth() # 上面的如果在加入其他的对象可能就需要重新写判断条件,可以把宠物的智能都写成相同的一个函数
for pet in self.pets:
pet.work() def __str__(self):
return "名字为{},年龄为{}的人".format(self.name, self.age) class Dog():
def __init__(self, name, age = 1):
self.name = name
self.age = age def eat(self):
print("%s 在吃饭" % self) def play(self):
print("%s 在玩" % self) def sleep(self):
print("%s 在睡觉" % self) # 改造
# def wacth(self):
def work(self):
print("%s 看家" % self) def __str__(self):
return "名字为{},年龄为{}的小狗".format(self.name, self.age) class Cat():
def __init__(self, name, age=1):
self.name = name
self.age = age def eat(self):
print("%s 在吃饭" % self) def play(self):
print("%s 在玩" % self) def sleep(self):
print("%s 在睡觉" % self) # 改造
# def cacth(self):
def work(self):
print("%s 捉老鼠" % self) def __str__(self):
return "名字为{},年龄为{}的小猫".format(self.name, self.age) d = Dog("小黑", 18)
c = Cat("小花", 20)
print(d) # 名字为小黑,年龄为18的小狗
d.eat() # 名字为小黑,年龄为18的小狗 在吃饭
d.play() # 名字为小黑,年龄为18的小狗 在玩
print("-" * 30) p = Person("小明", [d, c], 30)
p.yangPets()
print("-" * 30)
p.make_pets_work() print("=" * 30) # -------------------- 改造上面的案例 ---------------------
class Animal():
def __init__(self, name, age = 1):
self.name = name
self.age = age def eat(self):
print("%s 在吃饭" % self) def play(self):
print("%s 在玩" % self) def sleep(self):
print("%s 在睡觉" % self) class Person(Animal):
def __init__(self, name, pets, age=1):
super(Person, self).__init__(name, age)
self.pets = pets # 修改命名方式
def yang_pets(self):
print("%s 养宠物" % self)
for pet in self.pets:
pet.eat()
pet.play()
pet.sleep() def make_pets_work(self):
# for pet in self.pets:
# if isinstance(pet, Dog):
# pet.wacth()
# elif isinstance(pet, Cat):
# pet.cacth() # 上面的如果在加入其他的对象可能就需要重新写判断条件,可以把宠物的智能都写成相同的一个函数
for pet in self.pets:
pet.work()
#
def __str__(self):
return "名字为{},年龄为{}的人".format(self.name, self.age) class Dog(Animal):
def work(self):
print("%s 看家" % self) def __str__(self):
return "名字为{},年龄为{}的小狗".format(self.name, self.age) class Cat(Animal):
def work(self):
print("%s 捉老鼠" % self) def __str__(self):
return "名字为{},年龄为{}的小猫".format(self.name, self.age) d = Dog("小黑", 10)
c = Cat("小花", 11)
p = Person("小明", [d, c], 20)
p.yang_pets()
p.make_pets_work()
# --------------------- 类的三大特性的综合运用 案例 -------------------------
# 定义三个类:小狗,小猫,人
# 小狗:姓名,年龄(默认1岁) 吃饭,玩,睡觉,看家(格式:名字是xx,年龄xx岁的小狗在xx)
# 小猫:姓名,年龄(默认1岁) 吃饭,玩,睡觉,捉老鼠(格式:名字是xx,年龄xx岁的小猫在xx)
# 人:姓名,年龄(默认1岁),宠物 吃饭,玩,睡觉,(格式:名字是xx,年龄xx岁的人在xx)
# 养宠物(让所以的宠物吃饭,玩,睡觉)
# 工作(让所有的宠物做自己工作职能的工作) class Person():
def __init__(self, name, pets, age=):
self.name = name
self.pets = pets
self.age = age def eat(self):
print("%s 在吃饭" % self) def play(self):
print("%s 在玩" % self) def sleep(self):
print("%s 在睡觉" % self) def yangPets(self):
print("%s 养宠物" % self)
for pet in self.pets:
pet.eat()
pet.play()
pet.sleep() def make_pets_work(self):
# for pet in self.pets:
# if isinstance(pet, Dog):
# pet.wacth()
# elif isinstance(pet, Cat):
# pet.cacth() # 上面的如果在加入其他的对象可能就需要重新写判断条件,可以把宠物的智能都写成相同的一个函数
for pet in self.pets:
pet.work() def __str__(self):
return "名字为{},年龄为{}的人".format(self.name, self.age) class Dog():
def __init__(self, name, age = ):
self.name = name
self.age = age def eat(self):
print("%s 在吃饭" % self) def play(self):
print("%s 在玩" % self) def sleep(self):
print("%s 在睡觉" % self) # 改造
# def wacth(self):
def work(self):
print("%s 看家" % self) def __str__(self):
return "名字为{},年龄为{}的小狗".format(self.name, self.age) class Cat():
def __init__(self, name, age=):
self.name = name
self.age = age def eat(self):
print("%s 在吃饭" % self) def play(self):
print("%s 在玩" % self) def sleep(self):
print("%s 在睡觉" % self) # 改造
# def cacth(self):
def work(self):
print("%s 捉老鼠" % self) def __str__(self):
return "名字为{},年龄为{}的小猫".format(self.name, self.age) d = Dog("小黑", )
c = Cat("小花", )
print(d) # 名字为小黑,年龄为18的小狗
d.eat() # 名字为小黑,年龄为18的小狗 在吃饭
d.play() # 名字为小黑,年龄为18的小狗 在玩
print("-" * ) p = Person("小明", [d, c], )
p.yangPets()
print("-" * )
p.make_pets_work() print("=" * ) # -------------------- 改造上面的案例 ---------------------
class Animal():
def __init__(self, name, age = ):
self.name = name
self.age = age def eat(self):
print("%s 在吃饭" % self) def play(self):
print("%s 在玩" % self) def sleep(self):
print("%s 在睡觉" % self) class Person(Animal):
def __init__(self, name, pets, age=):
super(Person, self).__init__(name, age)
self.pets = pets # 修改命名方式
def yang_pets(self):
print("%s 养宠物" % self)
for pet in self.pets:
pet.eat()
pet.play()
pet.sleep() def make_pets_work(self):
# for pet in self.pets:
# if isinstance(pet, Dog):
# pet.wacth()
# elif isinstance(pet, Cat):
# pet.cacth() # 上面的如果在加入其他的对象可能就需要重新写判断条件,可以把宠物的智能都写成相同的一个函数
for pet in self.pets:
pet.work()
#
def __str__(self):
return "名字为{},年龄为{}的人".format(self.name, self.age) class Dog(Animal):
def work(self):
print("%s 看家" % self) def __str__(self):
return "名字为{},年龄为{}的小狗".format(self.name, self.age) class Cat(Animal):
def work(self):
print("%s 捉老鼠" % self) def __str__(self):
return "名字为{},年龄为{}的小猫".format(self.name, self.age) d = Dog("小黑", )
c = Cat("小花", )
p = Person("小明", [d, c], )
p.yang_pets()
p.make_pets_work()
Python 类的三大特性的综合运用 案例的更多相关文章
- 第9章 Java类的三大特性之一:继承
1.什么是继承 子类继承父类就是对父类的扩展,继承时会自动拥有父类所拥有的处private之外的所有成员作用:增加代码复用语法格式: class 子类名 extends 父类名{…………}第9章 Ja ...
- (转载)OC学习篇之---类的三大特性:封装,继承,多态
之前的一片文章介绍了OC中类的初始化方法和点语法的使用,今天来继续学习OC中的类的三大特性,我们在学习Java的时候都知道,类有三大特性:继承,封装,多态,这个也是介绍类的时候,必须提到的话题,那么今 ...
- OC基础 类的三大特性
OC基础 类的三大特性 OC的类和JAVA一样,都有三大特性:继承,封装,多态,那么我们就来看一下OC中类的三大特性. 1.继承 继承的特点: (1)子类从父类继承了属性和方法. (2)子类独有的属 ...
- 转 OC温故:类的三大特性(封装,继承,多态)
原文标题:OC学习篇之---类的三大特性(封装,继承,多态) 我们都知道,面向对象程序设计中的类有三大特性:继承,封装,多态,这个也是介绍类的时候,必须提到的话题,那么今天就来看一下OC中类的三大特性 ...
- OC学习篇之---类的三大特性(封装,继承,多态)
之前的一片文章介绍了OC中类的初始化方法和点语法的使用:http://blog.csdn.net/jiangwei0910410003/article/details/41683873,今天来继续学习 ...
- Python:Day24 类、类的三大特性
Python有两种编程方式:函数式+面向对象 函数式编程可以做所有的事情,但是否合适? 面向对象: 一.定义 函数: def + 函数名(参数) 面象对象: class bar---> 名字 ...
- Python 面向对象的三大特性:封装,继承,多态
# 面向对象的三大特性:封装,继承,多态 # 继承的影响:资源的继承,资源的使用,资源的覆盖,资源的累加 # 资源的继承,在Python中的继承是指能使用父类的资源,而不是说在子类也复制一份父类代码到 ...
- Python - 面向对象编程 - 三大特性之继承
继承 继承也是面向对象编程三大特性之一 继承是类与类的一种关系 定义一个新的 class 时,可以从某个现有的 class 继承 新的 class 类就叫子类(Subclass) 被继承的类一般称为父 ...
- Python 面向对象的三大特性
面向对象的三大特性:继承,封装,多态 什么时候用封装: 同一种功能的时候, 譬如:把一部分数据或方法,封装到同一个类的中 PS:在构造方法中,原始数据中....
随机推荐
- 文件夹进行MD5校验的实现算法
每份相同数据(文件夹)都可以生成一份唯一的md5校验文件,我们可以通过直接校验整个数据文件夹的方法来确定数据是否有误. 1.针对整个文件夹生成md5校验文件方法: 以data文件夹为例,我们需要得到d ...
- Http服务器实现文件上传与下载(一)
一.引言 大家都知道web编程的协议就是http协议,称为超文本传输协议.在J2EE中我们可以很快的实现一个Web工程,但在C++中就不是非常的迅速,原因无非就是底层的socket网络编写需要自己完成 ...
- JS循环语句的理解
循环语句就是让程序重复性去做某些工作 最常见的就是for循环 那它的写法都有哪些呢? 1.必须要有初始值 2.要有条件判断 3.状态的改变 4.循环体 一定要控制循环多少次结束,否则就变成了死循环,消 ...
- hdu4565(矩阵快速幂+经典的数学处理)
注意题目的一个关键条件(a-1)2< b < a2 , 于是可以知道 0 < a-√b < 1 ,所以 (a-√b)^n < 1 . 然后 (a+ √b)^n+(a ...
- Leetcode-Construct Binary Tree from inorder and postorder travesal
Given inorder and postorder traversal of a tree, construct the binary tree. Solution: /** * Definiti ...
- JavaServlet实现下载功能
我们在项目中经常会用到下载功能,所以今天我们先说下下载功能实现的思路,然后通过一个案例代码来具体体现. 1.下载的思路: ①首先要获取我们要操作的文件对象的路径 ②然后使用获取的文件对象路径构 ...
- 【论文翻译】MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications 论文链接:https://arxi ...
- unix_timestamp 和 from_unixtime 时间戳函数 区别
1.unix_timestamp 将时间转化为时间戳.(date 类型数据转换成 timestamp 形式整数) 没传时间参数则取当前时间的时间戳 mysql> select unix_time ...
- elastic search使用
elastic使用 使用python时注意保持一个好习惯:不要使用类似str.type这样的变量名,很容易引发错误: https://blog.csdn.net/lifelegendc/article ...
- scrapy 原理,结构,基本命令,item,spider,selector简述
原理,结构,基本命令,item,spider,selector简述 原理 (1)结构 (2)运行流程 实操 (1) scrapy命令: 注意先把python安装目录的scripts文件夹添加到环境变量 ...