当前位置: 首页 > news >正文

浙江网站建设cms免费无限建站

浙江网站建设cms,免费无限建站,开发网站开始的工作,哈尔滨网站建设还不如在 Python 中,面向对象编程(OOP)的三大特征——封装、继承、多态——同样适用,但实现方式与其他语言(如 Java)有所不同。下面结合 Python 代码详细说明:1. ​封装(Encapsulation&…

在 Python 中,面向对象编程(OOP)的三大特征——封装、继承、多态——同样适用,但实现方式与其他语言(如 Java)有所不同。下面结合 Python 代码详细说明:


1. ​封装(Encapsulation)​

核心思想

将数据(属性)和操作数据的方法(行为)捆绑在类中,并控制外部访问权限。

Python 的实现

  • Python 没有严格的 private 或 protected 关键字,但通过命名约定实现封装:
    • ​**单下划线 _var**​:约定为“受保护”成员(实际仍可访问)。
    • ​**双下划线 __var**​:触发名称修饰(Name Mangling),避免直接访问。
  • 通过 property 装饰器提供对属性的安全访问。

示例代码

class BankAccount:def __init__(self, balance):self.__balance = balance  # 私有属性(双下划线)# 通过方法暴露私有属性(封装)def get_balance(self):return self.__balancedef deposit(self, amount):if amount > 0:self.__balance += amount# 使用
account = BankAccount(1000)
print(account.get_balance())  # 正确访问
# print(account.__balance)    # 报错:AttributeError

说明

  • Python 的封装更依赖约定而非强制,开发者需自觉遵守访问规则。

2. ​继承(Inheritance)​

核心思想

子类继承父类的属性和方法,并可扩展或重写功能。

Python 的特点

  • 支持单继承多继承​(一个子类可继承多个父类)。
  • 通过 super() 调用父类方法。
  • 所有类默认继承 object(Python 3 中可省略)。

示例代码

class Animal:def __init__(self, name):self.name = namedef speak(self):return "Unknown sound"class Dog(Animal):  # 继承Animaldef speak(self):  # 重写父类方法return "Woof!"class Cat(Animal):def speak(self):return "Meow!"# 使用
dog = Dog("Buddy")
print(dog.name)      # 继承父类属性
print(dog.speak())   # 输出 "Woof!"(子类重写)

多继承示例

class A:def method(self):return "A"class B:def method(self):return "B"class C(A, B):  # 多继承(从左到右优先)passc = C()
print(c.method())  # 输出 "A"(A的优先级高于B)

3. ​多态(Polymorphism)​

核心思想

同一接口对不同对象产生不同行为。

Python 的实现

  • Python 是动态类型语言,多态通过鸭子类型​(Duck Typing)实现:
    • 不依赖继承关系,只要对象有相同方法名即可。
  • 结合继承时,子类重写父类方法实现多态。

示例代码

(1)基于继承的多态
class Animal:def speak(self):raise NotImplementedError("子类必须实现此方法")class Dog(Animal):def speak(self):return "Woof!"class Cat(Animal):def speak(self):return "Meow!"def animal_sound(animal: Animal):print(animal.speak())# 使用
animal_sound(Dog())  # 输出 "Woof!"
animal_sound(Cat())  # 输出 "Meow!"
(2)鸭子类型(无需继承)
class Car:def sound(self):return "Vroom!"class Robot:def sound(self):return "Beep!"def make_sound(obj):  # 不关心类型,只要实现sound()print(obj.sound())# 使用
make_sound(Car())    # 输出 "Vroom!"
make_sound(Robot())  # 输出 "Beep!"

总结表:Python 中的三大特征

特征Python 实现方式关键语法
封装命名约定(_var__var)+ propertyself.__balance
继承单继承/多继承 + super()class Child(Parent1, Parent2)
多态鸭子类型 + 方法重写同名方法在不同类中实现不同行为

Python 面向对象的独特之处

  1. 动态性​:属性和方法可在运行时动态添加。
  2. 鸭子类型​:多态不依赖继承,而是“只要像鸭子,就是鸭子”。
  3. 混入(Mixin)​​:通过多继承实现代码复用(如 class LoggableMixin)。

通过灵活运用这三大特征,Python 的面向对象编程既能保持简洁,又能实现高度可扩展的设计。

http://www.dtcms.com/a/482671.html

相关文章:

  • Java Redis “底层结构” 面试清单(含超通俗生活案例与深度理解)
  • Windows10停服!7-Zip被爆组合漏洞|附安全指南
  • 从 0 到 1 搭建完整 Python 语言 Web UI自动化测试学习系列 17--测试框架Pytest基础 1--介绍使用
  • 太原市微网站建设上海网站建设服务电话
  • QT6(鼠标键盘事件)
  • Mac应用快速启动器Alfred 5 Powerpack for Mac
  • 【Linux】——基础指令(下)
  • 做网站的域名怎么申请南宁网站建设策划外包
  • 云南企业建站网站项目怎么做
  • vue钩子函数调用问题
  • 【SpringCloud】Sentinel
  • 建设手机网站做网站有名的公司有哪些
  • JavaWeb流式传输速查宝典
  • 【hive】一种高效增量表的实现
  • AWS同一账号下创建自定义VPC并配置不同区域的对等链接
  • 企业营销网站建设公司淘宝客 网站备案
  • 软件工程的知识领域
  • Unity进阶--C#相关
  • 网页模板网站cms网站建设免费视频教程
  • 板块运动和地震分类
  • 用OpenCV实现智能图像处理从基础操作到实战应用全解析
  • 大庆门户网站wordpress大学主题3.5
  • C++ - vector
  • 做百度竞价网站搜索不到百度北京总部电话
  • Process Monitor 学习笔记(5.5):保存并打开追踪记录(PML/CSV)与协作分享全攻略
  • 论MyBatis和JPA权威性
  • SAP MM采购订单创建接口分享
  • 基于单片机的简易智能衣架控制系统设计
  • rrk3588 与 NPU 主机下的异构通信:基于 PCIe 的设计与实现
  • 2025年--Lc185--63.不同路径II(动态规划,矩阵)--Java版