面向对象的特征

本文深入探讨了面向对象编程(OOP)的基本概念,包括封装、继承与多态三大特性,并详细解释了这些特性如何应用于实际编程中。此外,文中还提到了面向切面编程(AOP)的概念以及成员变量与属性的区别。

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

1、面向对象编程(OOP)、面向切面编程(AOP)
2、面向对象有三个特性:封装、继承、多态
      
     封装: 容易理解,就是把相关的属性封装成类
     继承:子类会继承父类的所有,包括成员变量和方法。
           在子类的构造函数中,之所以有super(),就是因为子类继承父类的成员变量时先看父类是如何赋值的,就是父类的成变量和
           子类是一样的。
     多态:多态是在有继承或实现的基础上的,多态的使用就要重写方法不然是没有意义的,因为如果不重写子类的方法和父类
           的方法是一样的。这样执行子类的方法还是相当于执行父类的。
           重写:子类对父类方法的扩展,要求方法必须一模一样。
    注意:方法名相同,参数列表相同,返回值不同不算是重载,这样在编译时是会报错的。
 
3、成员变量和属性不是一个概念的,带有set和get的方法都算是属性,不一定非要在成员位置上定义,而且成员变量子父类是一样
   的。在spring中依赖注入是根据属性注入的。

### 面向对象编程的主要特征和概念 面向对象程序设计(Object-Oriented Programming, OOP)是一种基于特定规范、模型和风格的程序设计方法,它是许多现代程序设计语言的核心基础[^1]。以下是面向对象编程的主要特征及其核心概念: #### 主要特征 1. **封装** 封装是指将数据(属性)和操作数据的行为(方法)绑定在一起,并隐藏对象内部实现细节的过程。通过封装,外部无法直接访问对象的数据成员,而是通过公开接口(即方法)间接访问或修改它们。这种机制提高了代码的安全性和模块化程度[^4]。 2. **继承** 继承允许创建一个新的类(子类),该新类可以重用现有类(父类)的功能并扩展其功能。这不仅减少了重复代码量,还增强了代码的可维护性。例如,在一个动物分类体系中,“狗”可以从“哺乳动物”这一更广泛的类别继承通用特性[^3]。 3. **多态** 多态意味着同一个接口可以在不同情况下表现出不同的形式。具体来说,它可以指代同一函数名在不同类型上的多种实现方式;或者子类能够覆盖父类中的同名方法以提供更加具体的逻辑处理过程。这样做的好处在于增加了灵活性以及适应未来需求变更的能力[^3]。 #### 核心概念 - **类 (Class)** 类是用来描述一类事物共同特性的抽象模板,包含了这类事物所具备的所有可能状态(属性) 和动作(方法)[^3] 。 它定义了一组具有相似性质的对象集合。 - **对象(Object)** 对象是类的一个实例,代表现实中存在的个体实体。每个对象都有自己的身份标识(ID),并且拥有独立的状态变量值组合而成的独特表现形式[^2] 。 综上所述,面向对象编程以其独特的设计理念——围绕着实际生活场景构建软件系统,使得复杂问题变得易于理解和解决的同时也极大地提升了开发效率与质量。 ```python class Animal: def __init__(self, name): # 构造器用于初始化对象 self.name = name # 属性 def speak(self): # 方法/行为 pass # 子类需自行实现 class Dog(Animal): # 继承自 Animal 的子类 def speak(self): return f"{self.name} says Woof!" dog_instance = Dog('Buddy') # 创建对象 print(dog_instance.speak()) # 调用方法 -> Buddy says Woof! ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值