面向对象编程
2022/4/6 20:50:00
本文主要是介绍面向对象编程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
面向对象编程
编程思想
1.面向过程编程 将程序的致辞那个流程化 按照程序的执行流程编写代码,解决需求问题 eg: 登录账号 ''' 第一步:获取用户名密码 第二步:比对用户数据 第三部:比对成功允许用户登录 ''' 过程可以理解成是流水线 执行完上一步再执行下一步 面向对象编程可以理解成创建一条流水线 2.面向对象编程 对象:对象其实就是一个'容器',将数据与功能整合到一起 符合上述含义的都可以称之为对象 eg: ''' python基础数据类型str str赋值后有数据,且可以通过点的方式调用其方法 str就是一个对象 python文件 py文件里面有我们定义的数据,也有我们定义的功能函数 文件也是一个对象 ''' """python一切接对象!!!""" """ 面向对象与面向过程并无优劣之分,具体使用要结合情况,选用最快捷的,最方便的一个编程思想进行代码编写 ps:很多时候,两种思想都是混在一起用的,只不过所占比例不同 """
类与对象
# 类与对象概念 对象:数据与功能的结合体 类:诸多对象共有的特征(数据、功能)!!! # 类与对象的创建 """ 在代码编程中是先有类才能有对象 """ # 创建学生类 eg: # 创建学生类 class Student: # 学生类公共数据 name = 'petter' age = 18 school = '家里蹲大学' # 学生类公共功能 def get_class(self): print('学生选课系统') '''类体代码无需调用,程序运行时就会执行,产生类的名称空间''' # 语法结构 class 类名: 类体代码 ''' 1.class是定义类的关键字,类似于函数定义关键字def 2.类名类似于函数名,但是推荐首字母大写,用原来区分类与函数 3.类体代码就是存放对选哪个公共数据和功能的地方 数据:变量名 = 变量值 功能:函数 ''' # 查看类的名称空间的方法:__dict__ # print(Student.__dict__) # 获取类的所有名称空间,返回dict # print(Student.__dict__['name']) # 获取name的名称空间 # print(Student.__dict__['get_class']) # 获取函数get_class的名称空间 # >>>{'__module__': '__main__', 'name': 'petter', 'age': 18, 'school': '家里蹲大学', 'get_class': <function Student.get_class at 0x021E1150>, '__dict__': <attribute '__dict__' of 'Student' objects>, '__weakref__': <attribute '__weakref__' of 'Student' objects>, '__doc__': None} # >>>petter # >>><function Student.get_class at 0x021E1150> '''上述方法太冗长,有简写''' # 类获取数据和功能的简便方式:句点符 # print(Student.name) # 获取name的名称空间 # print(Student.get_class) # 获取函数名称空间 # >>>petter # >>><function Student.get_class at 0x01521150> # 通过类产生对象 '''类名加括号可以返回一个对象''' # obj1 = Student() # 产生一个对象命名为obj1 # print(obj1.name) # obj1.name = 'oscar' # 修改名字与值的对应关系 # print(obj1.name) # >>>petter # >>>oscar
对象的实例化
# 新建学生类 class Student: # 对象特有数据获取函数 def __init__(self,name,age): self.name = name self.age = age # 公共的参数 school = '家里蹲大学' def get_class(self): print('学生选课系统') # 给对象添加独有的数据(实例化对象) # obj1 = Student('petter',18) # obj2 = Student('oscar',20) # print(obj1.name) # print(obj1.school) # print(obj2.name) # print(obj2.school) # >>>petter # >>>家里蹲大学 # >>>oscar # >>>家里蹲大学 """ 类中的__init__方法会在类产生对象的时候自动执行 (__init__就是类的构造方法) 类产生对象的具体步骤 1.先创建一个没有独有数据的空对象 {} 2.将空对象和类括号内传入的数据一并交给__init__执行 __init__的第一个参数就是对象本身 __init__(obj,name,age,gender) 3.将创建好的对象自动返回 给你提供这种方式能够减少代码的编写 ps:针对括号内第一个形参self其实就是一个普通的变量名而已 只不过该变量名将来专门接收对象的 所以给它起了个固定的名字叫self """
绑定方法
""" 在类中定义的函数默认都是绑定给对象使用的 即对象来调 会自动将对象当做第一个参数传入 """ class Student: # 对象特有数据获取函数 # __init__方法不要自己去调用,实例化的时候自动调用 def __init__(self,name,age): self.name = name self.age = age # 公共的参数 school = '家里蹲大学' def get_class(self): print('学生选课系统') def func1(self): print('func1被%s调用'%self.name) def func2(self): print('func2被%s调用'%self.name) # 类调用类中函数 有几个参数就需要传几个参数 # obj1 = Student('petter',18) # 对象调用类中函数 会将当前调用的对象当做第一个参数自动传入 # print(obj1.func1()) # print(obj1.func2()) # >>>func1被petter调用 # >>>None # 类的默认返回值 # >>>func2被petter调用 # >>>None
这篇关于面向对象编程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-10百万架构师第十三课:源码分析:Spring 源码分析:Spring核心IOC容器及依赖注入原理|JavaGuide
- 2025-01-10便捷好用的电商API工具合集
- 2025-01-09必试!帮 J 人团队解决物流错发漏发的软件神器!
- 2025-01-09不容小觑!助力 J 人物流客服安抚情绪的软件!
- 2025-01-09为什么医疗团队协作离不开智能文档工具?
- 2025-01-09惊叹:J 人团队用啥软件让物流服务快又准?
- 2025-01-09如何利用数据分析工具优化项目资源分配?4种工具推荐
- 2025-01-09多学科协作难?这款文档工具可以帮你省心省力
- 2025-01-09团队中的技术项目经理TPM:工作内容与资源优化策略
- 2025-01-09JIT生产管理法:优化流程,提升竞争力的秘诀