面向对象的三大特征

本文以生动的例子介绍了面向对象编程的三大核心特性:封装、继承和多态。通过类比日常生活中的现象,使得这些概念更加易于理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

速记面向对象的三大特征

封装

把属性私有化,使其他类只能通过一些方法进行调佣,而无法进行直接访问或调佣

继承

子类继承父类的特征行为,是子类继承父类的特征行为

多态

指同一行为具有多个不同的形态和目的或者表现方式,通常指一个类的相同方法在不同情况下的不同表现方式

速记方法

首先是封装,你知道他是海王,知道他在养鱼,但你不知道海王养了多少只有他告诉你你才可以知道,这就叫封装
其次是多态,对于安全感较低的女生,你做一件事她肯定会想很多(即为你的一行为在不同情况下会产生不一样的结果)
最后是继承,你谈恋爱肯定会有谈恋爱的目的,就算你分手了,再谈目的不变,那你对前任所用的手段也会用到现任身上,并且你还会去完善手段使其更好地达到目的

所以小编在此提醒诸位,不要和安全感低的女生谈恋爱,你很大概率的就可能成为他养的鱼

### Python 面向对象编程的三大特性 #### 1. 封装 封装是一种将数据(属性)和行为(方法)绑定到一起的技术,通过访问控制来隐藏内部实现细节。在 Python 中,可以通过使用私有属性(以双下划线开头 `__` 的变量名)来限制外部直接访问这些属性[^2]。为了操作这些私有属性,通常会提供公共接口,即 getter 和 setter 方法,分别用于读取和设置私有属性的值。 以下是封装的一个简单示例: ```python class Person: def __init__(self, name, age): self.__name = name # 私有属性 self.__age = age # 私有属性 def get_name(self): # 获取私有属性的方法 return self.__name def set_age(self, age): # 设置私有属性的方法 if age >= 0: self.__age = age else: raise ValueError("年龄不能为负") person = Person("Alice", 30) print(person.get_name()) # 输出 Alice person.set_age(35) # 修改年龄 ``` #### 2. 继承 继承是面向对象编程的核心特性之一,它允许创建一个新的类(子类),基于已有的类(父类)进行扩展或修改。这样可以减少重复代码并提高代码的可维护性和复用性[^3]。在 Python 中,默认情况下所有的类都继承自 `object` 类[^5]。 下面是一个简单的继承例子: ```python class Animal: def speak(self): return "动物发出声音" class Dog(Animal): def speak(self): # 覆盖父类方法 return super().speak() + ", 狗吠叫" dog = Dog() print(dog.speak()) # 输出 动物发出声音, 狗吠叫 ``` #### 3. 多态 多态是指同一个方法调用可以在不同的对象上表现出不同形式的能力。这种能力使得程序设计更加灵活,因为相同的接口可以根据实际的对象类型执行不同的逻辑[^4]。在 Python 中,由于其动态类型的特性,多态表现得尤为自然。 以下展示了如何利用多态处理不同类型的对象: ```python class Cat: def sound(self): return "喵呜" class Bird: def sound(self): return "叽喳" def make_sound(animal): print(animal.sound()) cat = Cat() bird = Bird() make_sound(cat) # 输出 喵呜 make_sound(bird) # 输出 叽喳 ``` --- ### 总结 Python 的面向对象编程支持封装、继承和多态这三种核心特性。它们共同作用于构建复杂而高效的软件系统,其中封装提供了安全性,继承促进了代码重用,多态增强了灵活性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值