浅谈面向对象三大特征的理解

本文深入探讨了面向对象编程的三大核心特性:封装、继承和多态。通过Java语言阐述,封装强调隐藏内部细节,提供安全访问;继承允许类的复用和扩展;多态则实现了同一行为的不同表现。这些特性使得代码更灵活、可维护和可扩展,为设计模式打下基础。
摘要由CSDN通过智能技术生成

面向对象程序设计(Object Oriented Programming)是把客观世界抽象成一个个的对象,并把对象作为编程的处理主体。Java语言是面向对象的程序设计语言,类和对象是面向对象的核心。类是对某一类对象共同特征的描述,也可以说是某一类对象的抽象概念。而对象是类的具体实例,有更多的具体细节。

人们归纳出的面向对象三大特征是封装、继承和多态。

一、封装(Encapsulation)

隐藏类的内部细节,只对外提供访问必要的隐藏细节的方法。因此,封装提出了两方面的要求:把该隐藏的隐藏,把该暴露的暴露。为了实现良好的封装,需要从两方面考虑:

  1. 将对象的成员变量和实现细节隐藏起来,不允许外部直接访问。
  2. 把方法暴露出来,让方法来控制对这些成员变量的安全访问和操作。

比如,启动电脑只需接通电源然后按下开机键即可,你不需要了解并手动实现将主机电源向主板供电,打开风扇,初始化启动程序…你只需要想清楚想做什么(what)即可,不需要想怎么做(how)

二、继承(Inheritance)

在Java语法中,使用 extends 关键字来实现子类继承父类。从英文原意来看,extends实为扩展,即从已有的类中拓展出一个新的类,实现了已有类的复用。翻译为继承也很好理解,子类继承自父类,子类获得了父类拥有的属性和方法。类似于生物学中的遗传现象,“龙生龙,凤生凤,老鼠生子打地洞”。

当然,子类继承自父类的特征后,一般也会有自己的特征,要不然两个类的特征一致容易造成代码冗余并且失去了复用父类目的的作用。这里的特征是指类的属性和方法。一个典型的例子是,子类重写(overwrite)父类的方法,实现了子类具体和个性的特征。

三、多态(polymorphism)

相同类型的变量,调用同一个方法时呈现出多种不同的行为特征,这就是多态。实现多态的支持是Java引用变量有两种类型:一个是编译时类型,一个是运行时类型。编译时类型有声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。如果编译时和运行时类型不一致,就可能出现多态。

看一个的多态例子:

  • 创建一个宠物类,定义一个模糊的吃动作
public class Pet 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值