5.1 面向对象的基本概念

本文对比了面向过程和面向对象编程的区别,重点阐述了面向对象的三大特性:封装性、继承性和多态性。封装确保对象的属性和行为紧密结合并控制访问权限;继承则提高了代码复用,允许子类继承父类的属性和行为;多态允许同一方法在不同对象上有不同表现,增强了程序的灵活性。面向对象编程的这些特性使得代码更易于维护和扩展。

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

5.1 面向对象的基本概念

面向过程和面向对象的概念:(设计一个首饰盒)

1.面向过程师傅:用户提出哪些要求,师傅就针对用户的要求进行制作,直接制作出一个完整的整体,本身也不准备好做首饰盒所需要的工具,而是需要什么单独拿什么

2.面向对象师傅:针对用户提出的要求进行分析,并将分析结果设计成一张完整的图纸,与需求的用户确认,然后将一切的准备工作全部处理完之后再分块制作,最后将各个小的部分组装在一起

面向对象师傅比面向过程师傅更能适应用户的变化,而一旦用户有变化之后,面向过程师傅基本上要推倒重做,而面向对象师傅却可以适应变化

 面向对象的程序设计有封装性、继承性、多态性三个主要特性

1. 封装性

两个含义:一是指把对象的属性和行为看成一个密不可分的整体,将这两者“封装”在一个不可分割的独立单位(即对象)中;另一层含义指“信息隐蔽”,把不需要让外界知道的信息隐藏起来,有些对象的属性及行为允许外界用户知道或使用,但不允许更改,而另一些属性和行为,则不允许外界知道,或只允许使用对象的功能,而尽可能隐蔽对象的功能实现细节

封装机制在程序设计中表现为,把描述对象属性的变量及实现对象功能的方法合在一起,定义为一个程序单位,并保证外界不能任意更改其内部的属性值,也不能任意调动其内部的功能方法

封装机制的另一个特点是:为封装在一个整体内的变量及方法规定不同级别的“可见性”或访问权限

 2. 继承性

继承是提高软件开发效率的重要手段

首先拥有反映事物一般特性的类,然后在其基础上派生出反映特殊事物的类。如已有汽车的类,该类中描述了汽车的普遍属性和行为,进一步再产生轿车的类,轿车的类是继承于汽车类,轿车类不但拥有汽车类的全部属性和行为,还增加轿车特有的属性和行为。

Java中,已有的类可以是Java开发环境所提供的一批最基本的程序——类库,用户开发的程序类是继承这些已有的类。这样,现在类所描述的属性和行为,即已定义的变量和方法,在继承产生的类中完全可以使用。被继承的类称为父类或超类,继承产生的类称为子类或派生类。根据继承机制,派生类继承超类的所有成员,并相应的增加了自己的一些新成员

继承机制大大增强了程序代码的可复用性,提高了软件的开发效率,降低了程序产生错误的可能性,也为程序的修改扩充提供了便利

若一个子类只允许继承一个父类,则称为单继承;若允许继承多个父类,则称为多继承。Java因为不支持多继承,因此子类不能享用多个父类的成员,Java通过接口(interface)的方式弥补了这个缺点

 3. 多态性

多态是允许程序中出现重名现象。Java存在两种形式的多态:方法重载与对象多态

方法重载:一个类中,允许多个方法使用同一个名字,但方法的参数不同,完成的功能也不同

对象多态:子类对象可以与父类对象进行相互转换,而且根据其使用的子类的不同,完成的功能也不同

多态的特性使程序的抽象程度和简捷程度更高,有助于程序设计人员对程序的分组协同开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值