摘要: 面向对象案例-烤红薯 类名设计:SweetPotato 分析“烤红薯”的属性 烤的时长:roast_time 烤的状态:roast_state 烤的风味:condiments 分析“烤红薯”的方法 烤红薯: roast 添加调料:add_condiments 烤的时长对应红薯的状态: 定义红薯类: 阅读全文
posted @ 2020-05-12 22:58 kelin1 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 多态案例 # 自定义人类 class People(object): # 跳舞 def dance(self): print("跳舞") # 在不改变该方法的情况下, 让不同人跳不同舞 def play(self): self.dance() # 自定义老人类 class OldMan(People 阅读全文
posted @ 2020-05-12 22:28 kelin1 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 继承案例二 1.定义一个人类: 包括属性:姓名(name)、性别(sex)、年龄(age)、国籍(country) 包括方法:吃饭(eat)、睡觉(sleep),工作(work) # 自定义一个人类 class Person(object): def __init__(self, name, sex 阅读全文
posted @ 2020-05-12 19:38 kelin1 阅读(727) 评论(0) 推荐(0) 编辑
摘要: 继承案例一 我们像要编写一个网站,网站只有三个页面,首页,新闻页,产品展示页,我们可能进行如下实现 1.首页 #首页 class HomePage(object): #头部信息 def header(self): print("头部信息!") #底部信息 def footer(self): prin 阅读全文
posted @ 2020-05-12 19:26 kelin1 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 自定义玩家类 使用 Player 类可以创建 警察对象 和 匪徒对象 玩家有三个属性: 姓名 name:字符串 血量 hp:整数 枪 gun:使用 Gun 类创建的对象,玩家初始没有枪 调用 hurt 方法可以让 当前匪徒玩家 受到参数 police_man_gun 的伤害,具体流程如下: 1> 匪 阅读全文
posted @ 2020-05-12 19:14 kelin1 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 自定义枪类 枪类 使用 Gun 类可以创建 枪对象 枪有三个属性: 型号 model:字符串 杀伤力 damage:整数 子弹数量 bullet_count:整数,枪初始没有子弹 调用 add_bullets 方法可以增加 子弹数量 调用 shoot 方法可以给参数 敌人对象 造成伤害 如果 没有子 阅读全文
posted @ 2020-05-12 18:40 kelin1 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 目标与需求说明 1.目标 理解一个对象的属性 可以是 另外一个类创建的对象 强化对面向对象封装特性的理解 封装是面向对象编程的一大特点; 面向对象编程的第一步是将属性和方法封装到一个抽象的类中; 外界使用类创建对象,然后让对象调用方法; 对象方法的细节都被封装在类的内部; 2.需求说明 警察拿起 A 阅读全文
posted @ 2020-05-12 18:37 kelin1 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 魔法方法__new__() __new__和__init__的作用 class A(object): def __init__(self): print("这是 init 方法") def __new__(cls): print("这是 new 方法") return object.__new__( 阅读全文
posted @ 2020-05-12 16:49 kelin1 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 静态方法和类方法 1. 类方法 是类对象所拥有的方法,需要用修饰器@classmethod来标识其为类方法,对于类方法,第一个参数必须是类对象,一般以cls作为第一个参数(当然可以用其他名称的变量作为其第一个参数,但是大部分人都习惯以'cls'作为第一个参数的名字,就最好用'cls'了),能够通过实 阅读全文
posted @ 2020-05-12 16:18 kelin1 阅读(212) 评论(0) 推荐(0) 编辑
摘要: #1 定一个人类,可以跑,跳,投,说话动作,有身高,体重,性别吗,属性, class People(object): """ 人类 """ def __init__(self, height, high, gender): self.height = height self.high__ = hig 阅读全文
posted @ 2020-05-12 01:51 kelin1 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 类属性和实例属性 在了解了类基本的东西之后,下面看一下python中这几个概念的区别 先来谈一下类属性和实例属性 在前面的例子中我们接触到的就是实例属性(对象属性),顾名思义,类属性就是类对象所拥有的属性,它被所有类对象的实例对象所共有,在内存中只存在一个副本,这个和C++中类的静态成员变量有点类似 阅读全文
posted @ 2020-05-12 01:46 kelin1 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 多态 所谓多态:定义时的类型和运行时的类型不一样,此时就成为多态,多态的概念是应用于Java和C#这一类强类型语言中,而Python崇尚“鸭子类型”。 鸭子类型:虽然我想要一只"鸭子",但是你给了我一只鸟。但是只要这只鸟走路像鸭子,叫起来像鸭子,游泳也像鸭子,我就认为这是鸭子。 Python的多态, 阅读全文
posted @ 2020-05-12 01:29 kelin1 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 修改私有属性的值 如果需要修改一个对象的属性值,通常有2种方法 对象名.属性名 = 数据 > 直接修改 对象名.方法名() > 间接修改 私有属性不能直接访问,所以无法通过第一种方式修改,一般的通过第二种方式修改私有属性的值:定义一个可以调用的公有方法,在这个公有方法内访问修改。 class Mas 阅读全文
posted @ 2020-05-12 01:03 kelin1 阅读(176) 评论(0) 推荐(0) 编辑