python--初识面向对象
一 . 初识面向对象
面向过程: 一切以事务的发展流程为中心. 面向对象: 一切以对象为中心. 一切皆为对象. 具体的某一个事务就是对象 打比方: 大象进冰箱 步骤: 第一步, 开门, 第二步, 装大象, 第三步, 关门 面向对象:大象, 你进冰箱. 此时主语是大象. 我操纵的是大象. 此时的大象就是对象
二 . 类.对象
类: 就是图纸. 创建对象的第一步. 先画图纸. 先写类. 对象: 对象就是车. 通过图纸造出来的具体的东西. 通过类来创建对象 类与对象的关系: 类是对xxx事物的归类. 写: __init__(self, 参数) 参数一般作为属性设置给对象. 对象就是self, 对属性的封装. def 方法(self, 参数): 方法. 第一个参数一般是固定的self. 当前类的对象. pass 对象是xx类型的一个具体 创建对象: 类名()
创建类: class 类名: def __init__(self): # 初始化方法. 又被成为构造方法 self.属性 = 值 self.属性 = 值 self.属性 = 值 def fangfa(self): 方法体(函数体, return) 创建对象: 变量 = 类名() # 实例化 <-> 创建对象 变量.属性 # 访问对象的属性信息 变量.方法() # 访问类中的方法
class Hero: def __init__(self, waihao, name, story): self.waihao = waihao self.name = name self.story = story def q(self): print("拎着宝剑嗷嗷跑") def w(self): print("护盾") def e(self): print("电风扇") def r(self): print("大宝剑") gw = Hero("德玛西亚之力", "盖伦", "500年前盖伦拿一个破棍子捅破了玉皇大帝的尿壶...埋在五指山下") gw.q() gw.w() gw.r()
class Phone: def __init__(self, color, dianchi, num, price): self.color = color self.dianchi = dianchi self.num = num self.price = price def call(self, ren): print("使用我的%s颜色价值%s的电话打给%s" % (self.color, self.price, ren)) def play(self): print("电话可以打游戏") sj = Phone("黑色", "5W安", "110", "9W欧元") sj.call("刘德华") sj.play()
三 . 面向对象和面向过程的对比
如果写一些比较小的程序用面向过程. 程序很复杂. 很庞大建议用面向对象.
三 . 面向对象的三大特征
封装: 1. 对属性的封装(__init__()) self.xxx = xxx 2. 对方法和功能的封装 继承 子类自动拥有父类中除了私有内容外的其他所有内容 class Bar(Foo): Bar对Foo进行了扩展 pass 当出现x是一种y的时候. 推荐使用继承关系 python支持多继承. 查找顺序: 先找离他近的. 多态(python原生直接就是多态) python更多的支持的是鸭子模型, 只要会嘎嘎叫就是好鸭子
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· Vite CVE-2025-30208 安全漏洞
· 《HelloGitHub》第 108 期
· MQ 如何保证数据一致性?
· 一个基于 .NET 开源免费的异地组网和内网穿透工具