27-面向对象编程

简介: Python

面向对象编程
面向对象编程:Object Oriented Programming,简称OOP,是一种程序设计方法。
面向对象面向过程区别
完成自我介绍功能,面向过程完成功能
stu_a = {
“name”:“A”
“age”:18,
“hometown”:“东北”
}
stu_b = {
“name”:“B”
“age”:19,
“hometown”:“山东”
}
stu_c = {
“name”:“C”
“age”:20,
“hometown”:“河北”
}
def stu_info(stu):

自我介绍

for key,value in stu.items():
print(“key=%s,value=%d”%(key,value))
stu_info(stu_a)
stu_info(stu_b)
stu_info(stu_c)
接下来我们用面向对象的思想来完成功能
stu_a = Student(个人信息)
stu_b = Student(个人信息)
stu_c = Student(个人信息)
stu_a.info()
stu_b.info()
stu_c.info()

面向过程:根据业务逻辑从上到下写代码,要面面俱到都要思考到
面向对象:讲数据与函数绑定到一起,进行封装。减少重复代码的重写过程,找一个能完成这个功能的哥们来完成
面向对象和面向过程都是解决问题的一种思路而已。
概念及术语

类(Class): 用来描述具有相同属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。其中的对象被称作类的实例。
实例:也称对象。通过类定义的初始化方法,赋予具体的值,成为一个"有血有肉的实体"。
实例化:创建类的实例的过程或操作。
实例变量:定义在实例中的变量,只作用于当前实例。
类变量:类变量是所有实例公有的变量。类变量定义在类中,但在方法体之外。
数据成员:类变量、实例变量、方法、类方法、静态方法和属性等的统称。
方法:类中定义的函数。
静态方法:不需要实例化就可以由类执行的方法
类方法:类方法是将类本身作为对象进行操作的方法。
方法重写:如果从父类继承的方法不能满足子类的需求,可以对父类的方法进行改写,这个过程也称override。
封装:将内部实现包裹起来,对外透明,提供api接口进行调用的机制
继承:即一个派生类(derived class)继承父类(base class)的变量和方法。
多态:根据对象类型的不同以不同的方式进行处理。

相关文章
|
机器人
如何查询OpenAI账户余额?ChatGPT怎么查看账户余额的方法
ChatGPT是美国OpenAI研发的聊天机器人程序,也是最近火爆全网的热门应用和话题之王。很多用户在使用openai的时候不知道如何查询OpenAI账户余额?
2969 0
|
存储 Prometheus 监控
程序开发中的监控和日志分析
监控和日志分析在软件开发中至关重要,它们帮助实时了解应用状态、及时发现并解决问题。监控确保系统稳定运行,优化性能和资源;日志分析则助于追踪问题根源、监测用户行为并提供安全审计。利用如Prometheus、ELK Stack等工具可实现高效监控与日志管理,从而优化应用性能和用户体验。
494 2
|
10月前
|
搜索推荐
企业CRM新选择——轻巧强大的阿里云上的Salesforce CN 企业版正式发布!
企业CRM新选择——轻巧强大的阿里云上的Salesforce CN 企业版正式发布!
|
算法 调度 UED
深入浅出操作系统调度策略
【10月更文挑战第33天】在数字时代的心脏,操作系统扮演着至关重要的角色。本文将探讨操作系统的核心功能之一——进程调度策略的设计与影响。我们将从理论到实践,通过浅显易懂的语言和具体代码示例,揭示如何通过不同的调度算法来优化系统性能和用户体验。无论你是技术新手还是资深开发者,这篇文章都将为你提供新的视角和深入的理解。
|
监控 关系型数据库 MySQL
MySQL 查看数据库实例
MySQL 查看数据库实例
399 6
|
XML Java API
Java实现XML格式化
Java实现XML格式化
604 0
|
前端开发 JavaScript 中间件
七、Flask蓝图使用之七
七、Flask蓝图使用之七
355 0
|
Ubuntu Shell
蓝易云 - ubuntu修改默认文件权限umask
以上就是在Ubuntu中修改默认文件权限umask的方法。
325 0
|
Ubuntu 定位技术 Python
numpy库报错has no attribute ‘_no_nep50_warning‘的解决
numpy库报错has no attribute ‘_no_nep50_warning‘的解决
380 1
QGS
|
前端开发
手拉手JavaFX UI控件与springboot3+FX桌面开发(中)
手拉手JavaFX UI控件与springboot3+FX桌面开发
QGS
439 0