看着计划栏的目标,似乎写面向对象的博客以及被我推迟了很久很久了。
苦苦煎熬了很久,最终还是决定通过写博客的方式来重新分析一遍面向对象。
首先,我对面向对象的理解就是一个空的世界,就像我的世界的超平坦模式一样,你可以开启创造模式,你可以生成鸡鸭牛羊等等生物,也可以生成人,🐟等,然后你观察为什么有些生物之间为什么会互相敌对关系,这是它的源码设置的,你还可以创造消除所有的敌对关系,进而可以理解更深入面向对象,比如创造一个生物,面向过程自然是无法做到的,因为它不可以添加各种各样的属性,比如猪🐖可以使用萝卜钓竿和鞍骑猪行动,还可以吃胡萝卜,死亡会掉落猪肉等等,而面向过程自然是极难做到的,因为同时触发各种各样事件,突然想到我的世界就明白了面向过程和面向对象的针对特定场景的极大不同了,用面向对象还能写清,而换成过程的话,基本就会写的逐渐看不懂自己写的什么了。
突然,感觉自己玩了这么多年,玩的竟然还实现了他山之石可以攻玉,简直就是太酷了。
此图为网图,非原创。
这是针对生物猪,进行的对象编程,而过程编程我几乎想不到怎么写。
- # 导入随机数模块,为后面使用随机数胡萝卜
- import random
-
-
- # 定义猪类,设定相应的参数death、born、eat、ride等
- class Pig(object):
- def __init__(self, death, born, eat, ride):
- self.death_status = death
- self.born_status = born
- self.eat_status = eat
- self.ride_status = ride
-
- # 设定生成猪的函数/方法
- def born(self):
- print("生成了一只猪")
-
- # 设定猪死亡的函数/方法
- def death(self):
- nums = random.randint(1, 2)
- print(f"死亡了一只猪,并掉落了{nums}个猪排")
-
- # 设定猪吃东西的函数/或方法
- def eat(self):
- import random
- carrot = random.randint(1, 2)
- if carrot == 1:
- print('喂了一个胡萝卜,可以骑乘了¥')
- self.ride()
- if carrot == 2:
- print('喂了两个胡萝卜,将会繁殖一只猪&')
- self.born()
-
- # 设定骑乘猪的函数/方法
- def ride(self):
- print("骑猪去上天^")
- print('结果不小心猪掉进岩浆了,它寄了')
- self.death()
-
-
- # 创建 Pig 类的实例并调用 eat 方法
- pig_instance = Pig(False, True, True, True)
- pig_instance.eat()
-
发现自己都不怎么会写了,看来我需要更多尝试写关于面向对象的博客,进而尝试更多的面向对象编程