day14 面向对象
1. 面向对象和面向过程 1.面向过程:核心是过程,是流水线
优缺点: 1.流程化,编写简单 2.可扩展性差 2.面向对象:核心是对象(对象:具有相同属性和动作的结合体) 优缺点: 1.可扩展行强 2.复杂度高于面向过程
总的来说:
面向对象适合大型项目 面向过程适合小型脚本
2.如何编写面向对象的程序(重点) 1.先创建类,归类,相当于图纸 语法: class 类名:(类名首字母大写) def __init__(self,name,age....) #构造方法,创建对象的时候自动访问, self.name=name #self,自己,自身,当前正创建的 self.age=age #在创建谁,谁就是self 有python自动传递 def 方法名(self,参数) 方法体 2.创建对象 变量=类名(参数)
变量.特征="xx" 可以通过这样的赋值给对象设置属性,其中.代表的是什么的
3.对象的操作 1.访问对象的属性 对象.属性 print(c.name) 2.访问对象的方法 对象.方法() #对象具有什么方法就能调用什么方法
总的来说,类是对象的抽象描述,对象是类的实例化结果
3.面向对象的三大特征: 1.封装 1.对对象的封装(相同属性和动作) 2.对属性的封装self.xxx=xxx 2.继承 子类拥有父类中出私有方法外的方法
前提是先有父类后有子类
语法:
class 类名(父名1.父名2)
调用方法时还是先从自身找,再找父类的,父类根据排序的先后找 3.多态 同一个对象,拥有多种形态
例:
class Animal:
def dong(self)
print("动物可以动")
class Cat(Animal):
def chi(self)
print("猫会吃")
c=Cat()
c.chi()
c.dong()
结果:
猫会吃 #站在猫的角度上
动物可以动 #站在动物会动
c并不是通过Animal创建对象,但是c确实Animal中的一种
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器