【Python从零到壹】用Python实现植物大战僵尸里的面向对象

编程的两个思想: 面向对象和面向过程
面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西。

优点是:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可。

缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身。

应用场景:一旦完成基本很少改变的场景,著名的例子有Linux內核,git,以及Apache HTTP Server等。

面向对象的程序设计的核心是对象(上帝式思维),要理解对象为何物,必须把自己当成上帝,上帝眼里世间存在的万物皆为对象,不存在的也可以创造出来

面向对象的优缺点:
优点是:解决了程序的扩展性。对某一个对象单独修改,会立刻反映到整个体系中,如对游戏中一个人物参数的特征和技能修改都很容易。

缺点:可控性差,无法向面向过程的程序设计流水线式的可以很精准的预测问题的处理流程与结果,面向对象的程序一旦开始就由对象之间的交互解决问题,即便是上帝也无法预测最终结果。

应用场景:需求经常变化的软件,一般需求的变化都集中在用户层,互联 应用,企业内部软件,游戏等都是面向对象的程序设计大显身手的好地方

两者相辅相成,并不是对立的,都是为了解决问题的。

1. 类和对象

类是多个类似的事物组成的群体的统称。 能够帮助我们快速理解和判断事物的性质。

类:具有相同特征的一类事物(人、狗、老虎,手机)

对象/实例:具体的某一个事物(你的同学张三、楼下的旺财)

实例化:类——>对象的过程

比如一说手机你就想到他的形状,里面有收发短信,打电话的功能,也能上 。 但你能知道我说的手机在上哪个 站吗r> 不能,所以手机就是一个类,它具有相同的属性和方法; 而具体的用手机做了什么,谁的手机,就是手机类的一个对象。
比如小米手机

Python中一切皆为对象,列表对象,数字对象

用变量表示特征,用函数表示技能,具有相同特征和技能的一类事物就是‘类’,对象是则是这一类事物中具体的一个。

2. 类的创建和编写

a) 定义一个类

语法:
class Student:
pass

类的组成:

  • 类名的规范: 是由一个或者多个单词组成的,要求每个单词的首字母大写,其余的小写;
  • Python中一切皆对象,需要开辟内存空间

我们原本只有一个Student类,产生了一个stu1对象,这个对象有自己的具体命令,年龄,以及吃饭的方法。

案例2

大部分的注释都写在代码里了,可以看代码去理解

再给刚才的代码增加功能,比如人不但可以走路还可以攻击狗

c) 类属性,类方法,静态方法

  • 类属性: 类中方法外的变量称为类属性,该类被所有对象共享
  • 类方法: 使用@classmethod修饰方法,使用类名直接访问
  • 静态方法 使用@staticmethod修饰的方法,使用类名直接访问的方法

Print(Student.native_place) 访问类属性
student.cm 调用类方法
student.sm 调用静态方法

用Python实现植物大战僵尸里的面向对象

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树面向对象编程面向对象三要素214524 人正在系统学习中 极客运维之家

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年3月3日
下一篇 2021年3月3日

相关推荐