目录
1.什么是面向对象设计
1.什么是面向对象设计
编程范式
编辑即写程序或写代码,具体是指程序员特定的语法+数据结构+算法编写代码,目的是告诉计算机如何执行任务。
面向过程设计
核心是“过程“,过程指解决问题的步骤,面向过程程序设计就是一种机械式的思维方式。
优点:复杂问题流程化,简单化。
缺点:随着程序的增大,维护难度会越来越大。
面向对象设计
核心是“对象”,世间万物皆对象,不存在的开以制造出来,与面向过程机械式思维方式形成鲜明的对比,面向对象更加注重现实世界而非流程的模拟,是一种“上帝式”的思维方式。
优点:解决面向过程可扩展性的问题。
缺点:编辑的复杂度远高于面向过程
类与对象
类的概念:类是一系列对象相似的特征与技能的结合体。
现实生活中:肯定是先有对象,再有类。
在程序中:务必保证先定义类,再定义对象。
class Student: # 类 def learn(self): # 方法 print("learning...") def eat(self): print("eating...") obj = Student()#实例化 obj.learn()
obj.eat()
print(Student.__dict__)#查看类的变量与函数名
__init__方法
该方法是在对象产生之后才会执行,只为对象进行初始化操作,可以是任意代码,但一定不能有返回值。
class Chinese: county = 'China' def __init__(self,name,sex,age): self.name = name self.sex = sex self.age = age def eat(self): print('%s is eating'%self.name)#新增的self.name p1 = Chinese('egon',18,'male')#先调用类产生的空对象p1,然后调用Chinese.__init__(p1,'egon',18,'male') p2 = Chinese('alex',38,'fmale') p3 = Chinese('wpq',48,'fmale') # print(p1.county)#China # print(p2.county) # print(p3.county)
Chinese.eat(p1)#同与p1.eat() Chinese.eat(p2)
Chinese.eat(p3)
p1.eat()#egon is eating p2.eat() p3.eat()
持续更新。。。。。。