问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

谁来谈谈面向对象编程的几个基本特点?

发布网友 发布时间:2022-03-28 00:27

我来回答

2个回答

懂视网 时间:2022-03-28 04:48

以Java为例,面向对象的编程语言的特点有封装、抽象、多态、继承。

  封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。

  抽象就是将一类实体的共同特性抽象出来,封装在一个抽象类中,所以抽象在面向对象语言是由抽象类来体现的。简单来说,抽象就是找出一些事物的相似和共性之处,然后将这些事物归为一个类,这个类只考虑这些事物的相似和共性之处,并且会忽略与当前主题和目标无关的那些方面,将注意力集中在与当前目标有关的方面。

  继承在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并可以加入若干新的内容,或修改原来的方法使之更适合特殊的需要,这就是继承。继承是子类自动共享父类数据和方法的机制,这是类之间的一种关系,提高了软件的可重用性和可扩展性。

  多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。

热心网友 时间:2022-03-28 01:56

1.抽象:
  抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。比如,我们要设计一个学生成绩管理系统,考察学生这个对象时,我们只关心他的班级、学号、成绩等,而不用去关心他的身高、体重这些信息。抽象包括两个方面,一是过程抽象,二是数据抽象。过程抽象是指任何一个明确定义功能的操作都可被使用者看作单个的实体看待,尽管这个操作实际上可能由一系列更低级的操作来完成。数据抽象定义了数据类型和施加于该类型对象上的操作,并限定了对象的值只能通过使用这些操作修改和观察。

2.继承:
  继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。这也体现了大自然中一般与特殊的关系。继承性很好的解决了软件的可重用性问题。比如说,所有的Windows应用程序都有一个窗口,它们可以看作都是从一个窗口类派生出来的。但是有的应用程序用于文字处理,有的应用程序用于绘图,这是由于派生出了不同的子类,各个子类添加了不同的特性。

3.封装:
  封装是面向对象的特征之一,是对象和类概念的主要特性。封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。一旦定义了一个对象的特性,则有必要决定这些特性的可见性,即哪些特性对外部世界是可见的,哪些特性用于表示内部状态。在这个阶段定义对象的接口。通常,应禁止直接访问一个对象的实际表示,而应通过操作接口访问对象,这称为信息隐藏。事实上,信息隐藏是用户对封装性的认识,封装则为信息隐藏提供支持。封装保证了模块具有较好的独立性,使得程序维护修改较为容易。对应用程序的修改仅限于类的内部,因而可以将应用程序修改带来的影响减少到最低限度。

4. 多态性:
  多态性是指允许不同类的对象对同一消息作出响应。比如同样的加法,把两个时间加在一起和把两个整数加在一起肯定完全不同。又比如,同样的选择编辑-粘贴操作,在字处理程序和绘图程序中有不同的效果。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
够详细了吧。 答案补充 但是要真正理解什么是面向对象,只看它的特点不一定能搞清楚,还是要在运用中多接触才能更深一步的理解。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
打印机硒鼓安装方法及步骤 如何安装新硒鼓? 我现在很困惑该不该和女友继续发展下去 电脑上字体怎么安装方法简单易行的字体安装步骤及技巧 网页字体显示不出.怎么办? 如何添加电脑上没有的字体解决电脑字体限制增加字体选择多样性_百度知 ... 不有效字体文件 电脑字体识别不了 梦见身上煤炭黑的长辈给我钥匙的预兆 株洲最值得一去的古镇 面向对象编程的基本特征是什么? 面向对象的编程语言有哪些特点? 腾讯会员二维码给别人用 怎么把自己的腾讯会员给别人用 如何在微信上找到好友 微信扫了二维码没加上好友怎么找那个二维码 微信通过扫二维码加好友,结果发现没有加上好友,怎样才能在找到他!_问一问 怎样扫描微信好友的二维码? 用微信扫描过了朋友的二维码,却没有添加成功,而且朋友不在身边了,怎么再次添加呢?有没有扫描记录的? 微信通过扫二维码加好友,结果发现没有加上好友,怎样才能在找到他! 我之前一个微信好友是用二维码添加的,但是不小心删掉了怎么找回? 如何获取微信好友的二维码 微信扫码加好友,但是忘记添加,怎样找二维码? 华为手机相册怎么备份 手机上的相册怎么备份 苹果相册怎么备份 如何快速备份手机相册 苹果手机相册怎么备份 如何备份相册 微信运动多久更新步数 面向对象程序设计有哪些基本特征? 1.面向对象的程序设计语言都具有 , , 三大特性. 面向对象 基本特征 哪些是面向对象程序设计的三大特征 试述面向过程的编程语言和面向对象的编程语言的概念、特点和区别。 面向对象编程语言有什么优点和特点? 面向对象的程序设计语言的特征 面向对象程序设计语言的特点 在JAVA中什么是面向对象的程序设计方法?有哪些主要特征? 简述面向对象编程思想的三大特征 面向对象的三个重要特征是什么 面向对象程序设计的优点是什么? 什么是面向对象的编程语言啊? java语言在面向对象编程方面有哪些独特的特点 4_面向对象的程序设计语言的特点 面向对象得三大特征? vivoNEX3还是魅族16s Pro,这两个手机相差大吗,哪个好点啊? iqoo 红米K20pro 魅族16s这三款手机哪个比较好 新款iPhone13各系列最大安全充电功率是多少? iphone12充电头多少w