面向对象的四大特点

面向对象有四个特点:

1. 抽象:抓住核心问题

2. 封装:即把能够实现功能的函数写成封装起来,在面向对象里叫做方法。简单来说就是把实现功能的函数写成方法。

3. 继承:继承的意思是,在实现同一种功能的前提下,新对象可以使用就对象的属性和方法。

4. 多态:一个变量在引用不同类型的情况下的不同状态。多态开发在开发组件和模块化开发的时候能节省很多资源。

### 面向对象编程的四大基本特性 #### 封装 (Encapsulation) 封装是指将数据(属性)和操作数据的方法捆绑在一起,形成一个独立的单元——类。通过访问修饰符控制外部对类成员的访问权限,从而保护内部状态不被随意修改。这种方式不仅提高了安全性,还增强了模块化设计的能力[^1]。 ```java public class Person { private String name; // 私有字段 public void setName(String newName) { // 提供公共方法设置name this.name = newName; } public String getName() { // 获取name值 return this.name; } } ``` #### 继承 (Inheritance) 继承允许创建一个新的类,该新类可以从现有的类派生而来,并获得原有类的功能以及可以添加新的功能或覆盖已有功能。这种机制有助于减少重复代码并促进软件组件之间的重用性[^2]。 ```java class Animal { protected void eat() { System.out.println("This animal is eating."); } } // Dog 类继承自Animal类 class Dog extends Animal { @Override protected void eat(){ System.out.println("The dog eats bones."); } public void bark(){ System.out.println("Dog barks"); } } ``` #### 多态 (Polymorphism) 多态意味着同一个接口可以根据所处上下文的不同而表现出多种形态。具体来说,在运行时能够根据实际的对象类型调用相应版本的方法。这一特点使得程序更加灵活通用[^4]。 ```java public interface Shape { double area(); } class Circle implements Shape{ final double PI=3.14; int radius; public Circle(int r){ this.radius=r; } @Override public double area(){ return PI*this.radius*this.radius; } } Shape s=new Circle(5); System.out.print(s.area()); // 输出圆面积78.5 ``` #### 抽象 (Abstraction) 抽象用于隐藏复杂的现实世界实体的具体细节,只保留最本质的部分作为模型表示出来。在 Java 中可以通过定义抽象类或者接口来实现这一点。它强调的是概念而不是具体的实现方式。 ```java abstract class Vehicle { abstract void startEngine(); // 定义了一个抽象方法startEngine() void stopEngine(){ // 这是一个非抽象方法 System.out.println("Stopping engine..."); } } class Car extends Vehicle { @Override void startEngine() { System.out.println("Car's engine started!"); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值