Python面向对象 三大特性 综合案例+1(视频里的作业)
class Dog:
# 在创建一个小狗实例的时候,给它设置几个属性
def __init__(self, name, age = 1):
self.name = name
self.age = age def eat(self):
# print("名字是%s,年龄%d岁的小狗在吃饭"%(self.name,self.age))
print("%s吃饭" % self)
return self def play(self):
print("%s玩" % self)
return self def sleep(self):
print("%s睡觉" % self)
return self def watch(self):
print("%s看家"%self) def __str__(self):
# 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)
return self def play(self):
print("%s玩" % self)
return self def sleep(self):
print("%s睡觉" % self)
return self def catch(self):
print("%s捉老鼠"%self) def __str__(self):
# self对象本身对字符串的一个描述
return "名字是{},年龄{}岁的小猫在".format(self.name, self.age) class Person:
# 在创建一个小狗实例的时候,给它设置几个属性
def __init__(self, name, pets, age = 1):
self.name = name
self.age = age
self.pets = pets
def eat(self):
print("%s吃饭" % self)
return self def play(self):
print("%s玩" % self)
return self def sleep(self):
print("%s睡觉" % self)
return self def feed_pets(self):
for pet in self.pets:
pet.eat()
pet.sleep()
pet.play() def make_pets_work(self):
for pet in self.pets:
if isinstance(pet, Dog):
pet.watch()
elif isinstance(pet, Cat):
pet.catch()
def __str__(self):
# self对象本身对字符串的一个描述
return "名字是{},年龄{}岁的人在".format(self.name, self.age)
d = Dog("小黑",18)
c = Cat("小红",2)
p = Person("BruceLong", [d, c], 24 )
p.feed_pets()
p.make_pets_work()
Python面向对象 三大特性 综合案例+1(视频里的作业)的更多相关文章
- Python面向对象 三大特性 综合案例
class Animal: # 所用的知识 Animal类的封装 -> Dog类,Cat类,Person类的继承->多态 # 把所有的共同属性和方法封装在一个公有类里面让子类继承父类的方法 ...
- python 面向对象(三大特性)
python 面向对象(初级) (思维导图 ↑↑↑↑↑) 概述: 面向过程:根据业务逻辑从上到下垒代码. 函数式:将某功能代码封装至函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类 ...
- python 面向对象三大特性(封装 多态 继承)
今天我们来学习一种新的编程方式:面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)注:Java和C#来说只支持面向对象编程,而python比较灵活即支持面 ...
- python面向对象三大特性
面向对象的三大特性: 封装.继承和多态 一.封装 封装,顾名思义就是将内容封装到某个地方,以后可以直接调用被封装到某处的内容. - 将内容封装到某处 - 从某处调用被封装的内容 第一步,将内容封装到某 ...
- python面向对象-三大特性
python面向对象编程三大特性 小结:前面我们说完了类和对象的关系,相信对类和对象的理解更加透彻..让我们一起去研究面向对象的三大特性吧.... 继承 1.什么继承? 在程序中继承就是事物之间的所属 ...
- python -- 面向对象三大特性
1,继承 1,初识继承 什么是继承? ——继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类. 子类会“遗传”父类的属性,从而 ...
- Python()- 面向对象三大特性----继承
继承: 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类(基类或超类),新建的类是所继承的类的(派生类或子类) 人类和狗 有相同的属性, 提取了一个__init__方法,在这 ...
- python面向对象三大特性之一封装
一.什么是封装 在程序设计中,封装(Encapsulation)是对具体对象的一种抽象,即将某些部分隐藏起来,在程序外部看不到,其 含义是其他程序无法调用. 要了解封装,离不开“私有化”,就是将类或者 ...
- python面向对象三大特性之继承
继承是创建新类的方法,以下是几个概念 父类,基类,超类: 被继承的类 子类,派生类:继承而产出的类 单继承:继承一个父类 多继承:继承多个父类 继承: 什么是什么的关系 父类中没有的属性,在字类中出现 ...
随机推荐
- 加扰与加密&解扰与解密
原文:https://blog.csdn.net/yuan892173701/article/details/8743543 加扰就是改变标准电视信号的特性,在发送端按规定处理,而加密就是在加解扰系统 ...
- centos设置服务开机启动失败问题
1.安装某服务设置开机启动的时候报错 [root@node1 ~]# systemctl enable lvm2-lvmetad.serviceThe unit files have no [Inst ...
- java在进程启动和关闭.exe程序
/** * @desc 启动进程 * @author zp * @date 2018-3-29 */ public static void startProc(String processName) ...
- ActiveMQ常见消息类型
JMS由下面三部分组成:消息头.属性.消息体.其中消息体定义了五种消息体格式,也可以称为消息类型. JMS规范中的消息类型包括TextMessage.MapMessage.ObjectMessage. ...
- 数组转集合、集合转数组、字符串数组与int型、long型数组等的转换
在项目中经常会遇到数组转集合.集合转数组.数组之间类型转换等操作 1.数组转集合 为了实现把一个数组转换成一个ArrayList,很多Java程序员会使用如下的代码: String str[] = { ...
- codevs 1082 线段树练习3 (线段树)
题目: 题目描述 Description 给你N个数,有两种操作: 1:给区间[a,b]的所有数增加X 2:询问区间[a,b]的数的和. 输入描述 Input Description 第一行一个正整数 ...
- Python-字符串的常用操作
name = "my name is irving and i am 22 years old!" #开头字母大写 print(name.capitalize()) #统计某字符个 ...
- linux下获取微秒级精度的时间【转】
转自:https://blog.csdn.net/u011857683/article/details/81320052 使用C语言在linux环境下获得微秒级时间 1. 数据结构 int getti ...
- css效果文字多了就...
开发中经常会遇见这样的问题,一段文字或者一段标题过长了,就让超出长度的部分益...替换.具体怎么做的呢?直接上代码: <style> *{ margin: 0; padding: 0; } ...
- 利用表格分页显示数据的js组件bootstrap datatable的使用
前面展示了datatable的简单使用,还可以通过bootstrap结合datatable来使用,这样可以进一步美化datatable插件 <!DOCTYPE html> <html ...