java面向对象程序设计有什么优缺点

优点1、抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2、继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了...
java面向对象程序设计有什么优缺点
优点1、抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
2、继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
3、封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
4、多态:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
缺点1、过度封装:使用OOP时,会把一些复杂的问题分拆抽象成较简单的独立对象,通过对象的互相调用去实现方案。但是,由于对象包含自己封装的数据,一个问题的数据集会被分散在不同的内存区域。互相调用时很可能会出现数据的cache miss的情况。
2、多态:在C++的一般的多态实现中,会使用到虚函数表。虚函数表是通过加入一次间接层来实现动态派送。但在调用的时候需要读取虚函数表,增加cache miss的可能性。基本上要支持动态派送,无论用虚函数表、函数指针都会形成这个问题,但如果类的数目极多,把函数指针如果和数据放在一起有时候可放缓问题。
2017-09-25
mengvlog 阅读 28 次 更新于 2025-09-11 01:37:40 我来答关注问题0
  •  赛玖百科小窍门 中高级面试常驻题:简单说下Java面向对象设计的六大原则

    里氏替换原则(LSP - Liskov Substitution Principle)定义:子类必须能够替换它们的基类而不会导致错误。即所有引用基类的地方必须能够透明地使用其子类的对象。要求:子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。子类可以增加自己独有的方法。子类重载父类方法时,输入参数应比父类方法更宽松...

  •  翡希信息咨询 Java面向对象程序设计(第2版)目录

    Java面向对象程序设计目录如下:第1章:Java语言基础介绍 Java的起源、特点与运行机制JVM介绍Java类库概述开发工具的安装和使用编写第一个Java程序:整数相加第2章:数据类型与程序控制结构 数据类型、变量与运算符表达式和语句控制结构字符串与数组命名规范实践项目:基本数据类型定义、转换和使用程序控制结构第...

  •  天理人心笻l Java中面向对象程序设计方法的优点有哪些?

    采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。2、质量高在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。3、效率高在软件开发时,根据设计的需要对现实世界的事...

  • 3、封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。4、多态:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态...

  •  翡希信息咨询 JAVA是什么

    面向对象的程序设计语言:Java采用面向对象的设计思想,支持类、对象、继承、封装和多态等面向对象的基本概念,使得开发者能够更高效地构建复杂的应用程序。跨平台性:Java具有“一次编写,到处运行”的特点。通过Java虚拟机,Java程序可以在任何支持JVM的平台上运行,无需针对每个平台单独编译,这极大地提高了...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部