# 面向过程编程 # 核心是过程二字,过程指的是解决问题的步骤,即先干什么在干什么然后干什么 # 基于该思想编写程序好比在设计一条流水线,是一种机械式的思维方式 # # 优点:复杂的问题流程化,进而简单化 # 缺点:扩展性差 # # 面向对象编程 # 核心对象二字,对象是特征与技能的结合体 # 基于该思想编写程序就好比是在创造一个世界,你就是这个世界的上帝,是一种上帝式的思维方式 # # 优点:可扩展性强 # 缺点:编程的复杂度要高于面向过程 # # # 二。类:种类。分类。类别 # 对象是特征与技能的结合体,类是一系列对象相似的特征与技能的结合体 # 强调:站的角度不同,总结出来的类是截然不同的 # # 在现实世界中:先有一个个具体存在的对象,然后随着人类文明的发展才有了分类的概念 # 在程序中:必须在先定义类,后调用类来产生对象 # # # 站在老男孩选课系统的角度,先总结现实世界中的老男孩学生对象 # 对象1: # 特征: # 学校 = 'oldboy' # 姓名 = '耗哥' # 年龄 = 18 # 性别 = 'male' # 技能: # 选课 # # 对象2: # 特征: # 学校 = 'oldboy' # 姓名 = '猪哥' # 年龄 = 17 # 性别 = 'male' # 技能: # 选课 # # 对象3: # 特征: # 学校 = 'oldboy' # 姓名 = '帅翔' # 年龄 = 19 # 性别 = 'female' # 技能: # 选课 # # 站在老男孩选课系统的角度,先总结现实世界中的老男孩学生类 # 老男孩学生类: # 相似的特征: # 学校="oldboy" # 相似的技能 # 选课 # # 在程序中 # 1.先定义类 class OldboyStudent: school='oldboy' def choose_course(self):#有位置形参 print('is choosing course') # 类体代码会在类的定义阶段就立刻执行,会产生一个类的名称空间 # # 类的本身就是一个容器、名称空间,是用来存放名字的,这是类的用途之一 print(OldboyStudent.__dict__) print(OldboyStudent.__dict__['school']) print(OldboyStudent.__dict__['choose_course']) OldboyStudent.__dict__['choose_course'](123)#要给形参传参才能运行 print(OldboyStudent.school)#其实就是OldboyStudent.__dict__['school'] OldboyStudent.choose_course(222)#其实就是OldboyStudent.__dict__['choose_course'] OldboyStudent.country='china'#OldboyStudent.__dict__['country']='China' print(OldboyStudent.country)#已经创建成功 china del OldboyStudent.school # print(OldboyStudent.school)#值已经被删除 # 2.后调用类产生对象,调用类的过程,又称为类的实例化,实例化的结果称为类的对象、实例 stu1=OldboyStudent()#调用类会得到一个返回值,该返回值就是类的一个具体存在的对象,实例 stu2=OldboyStudent()
python的面向对象和类与对象
猜你喜欢
转载自blog.csdn.net/qq_35540539/article/details/80807906
今日推荐
周排行