首页 \ 问答 \ java面向对象的含意

java面向对象的含意

java的默认import包有哪些??????? 顺便简单讲解下面向对象的含意,小菜鸟我在大家的讨论下越发有点不懂,请大虾们指点一二!!!!!!
更新时间:2022-12-06 07:12

最满意答案

对象是类的实例的意思 
面向对象 

面向对象是一种新兴的程序设计方法,或者说它是一种新的程序设计范型,其基本思想是使用对象,类,继承,封装,消息等基本概念来进行程序设计。 

它是从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它概念来构造系统)。这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。 

它可以有不同层次的理解: 

从世界观的角度可以认为:面向对象的基本哲学是认为世界是由各种各样具有自己的运动规律和内部状态的对象所组成的;不同对象之间的相互作用和通讯构成了完整的现实世界。因此,人们应当按照现实世界这个本来面貌来理解世界,直接通过对象及其相互关系来反映世界。这样建立起来的系统才能符合现实世界的本来面目。 

从方法学的角度可以认为:面向对象的方法是面向对象的世界观在开发方法中的直接运用。它强调系统的结构应该直接与现实世界的结构相对应,应该围绕现实世界中的对象来构造系统,而不是围绕功能来构造系统。 

从程序设计的角度来看,面向对象的程序设计语言必须有描述对象及其相互之间关系的语言成分。这些程序设计语言可以归纳为以下几类:系统中一切皆为对象;对象是属性及其操作的封装体;对象可按其性质划分为类,对象成为类的实例;实例关系和继承关系是对象之间的静态关系;消息传递是对象之间动态联系的唯一形式,也是计算的唯一形式;方法是消息的序列。

相关问答

更多
  • 面向对象的程序设计方法的出现和广泛应用是计算机软件技术发展中的一个重大变革和 飞越。它能够更好地适应当今软件开发在规模、复杂性、可靠性和质量、效率上的种种需求, 因而被越来越多地推广和使用,其方法本身也在这诸多实践的检验和磨练中日趋成熟、标准化 和体系化,逐渐成为目前公认的主流程序设计方法。本章将针对面向对象程序设计的一些基本 概念和基本方法做一简单介绍,使读者对它的体系、原则、基本思想和特点有一定的了解。 从 20 世纪 60 年代末开始,随着计算机软件系统规模的扩大和复杂性的增加,导致软件 的开销也惊人 ...
  • 面向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的面向过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。用公式表示,过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。 所有面向对象编程语言都支持三个概念:封装、多态性和继承,Java也不例外。现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象 ...
  • Java面向对象概述 (如今的程序领域,大家都在说,面向对象OOP,但是真正能理解面向对象的含义的程序员却很少,究竟什么是对象,怎样面向对象) 一.面向对象: 1.何谓对象:在面向对象程序设计中,我们将问题空间中的元素以及他们在方案空间中的的表示物称作对象(object) Alan Kay总结了smalltalk中对象的5大基本特征: 所有的东西都是对象。 程序是一大堆对象的集合,他们通过消息传递,各个对象之间知道要做些什么。 每个对象都分配有自己的存储空间,可容纳其他对象。 每个对象都有一个类型。 同一类 ...
  • 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。 例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。 而面向对象的设计则是从另外的思路来解 ...
  • Java面向对象?[2022-12-05]

    面相对象的三大特性: 1、封装:该隐藏的隐藏,该公开的公开。一般来说对象的属性应该隐藏,方法应该公开 的,还应有访问属性的方法。好处在于可以对属性的访问进行很好的控制。”private”私有的、别人不可用的, 对应的是公共的“public”。如果方法也要隐藏,就只能隐藏方法的实现,不能隐藏方法的声明,方法实现隐藏的好处在于:不会很大程度上影响到方法的架构。Eg: //测试封装 public class TestEncapsulation{ public static void main(String[] a ...
  • 对象是抽象的具体的意思,你可以把对象理解为具有一定特点的某类事物中的一个代表性事物,在形象点你可以理解成每个对象都是一个有独立思考能力和办事能力的人,面向对象就是说在设计java程序的时候,考虑问题要把对象的办事能力考虑进去,不要所有事情都自己一个人独揽,就像老板给员工分配任务或者求职者向中介寻求帮助一样,请求方与被请求放都有自己能做的事情,如果有别人能做那就交给那个人来完成就好了。 实例化对象你可以理解为就是找一个你想要的人,实际上就是为你想要的那个类的对象在内存里分配一个空间,让那个类在那个空间里生成一 ...
  • Struggle说得对。根本不是一个层次的东西。“面向对象思想”和“面向过程思想”相对,而“针对接口(抽象)编程”和“针对实现编程相对”。首先纠正楼主一个认识误区,任何编程思想都是在试图建立现实世界和计算机世界的“映射”。无论是面向过程还是面向对象或者是其它的什么思想,根本目的都是在计算机中建立现实世界的模型,通过模型的“沙盘推演”,达到解决现实问题的目的。宏观上说,无论是面向对象还是面向过程,都是一种世界观,是一种对世界的认知和划分。只不过面向过程的思想把世界划分为数据结构和函数,而面向对象的思想把世界划 ...
  • 对象是类的实例的意思 面向对象 面向对象是一种新兴的程序设计方法,或者说它是一种新的程序设计范型,其基本思想是使用对象,类,继承,封装,消息等基本概念来进行程序设计。 它是从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它概念来构造系统)。这可以使系统 ...
  • 面向对象方法是一种基于对象模型的程序设计方法,包括面向对象分析、面向对象设计、面向对象编程,是目前应用范围最广的设计方法。其中对象模型包括六个要素:封装、抽象、模块化、层次结构、类型、并发发、持久。与传统的结构化设计方法不同的是面向对象强调一组自动化的代理(对象),而不是强调过程的顺序。当今有三种主要设计方法:1.面向对象设计 2.结构化设计 3.数据驱动设计。每种方法都是针对某类问题,没有一种方法是万能的。现在面向对象设计方法在世界各地都已广范使用,但现在我们有许多人连面向对象基本概念都搞不清楚,却能用J ...
  • JS 面向对象[2022-08-15]

    为了能够清楚的解释这一切,我先从对象讲起。从其他面向对象语言(如Java)而来的人可能认为在JS里的对象也是由类来实例化出来的,并且是由属性和方法组成的。 实际上在JS里并不是如你所想(我开始是这么想的)那样,对象或直接称为object,实际上只是一些映射对的集合,像Map,字典等概念。JS里有大概7种类型(加上Symbol),数字、字符串、null、undefined、布尔、Symbol、对象。除对象以外的其他类型属于原始类型,就是说它们比较单纯,包含的东西比较少,基本上就是字面量所表示的那些(像C语言中 ...

相关文章

更多

最新问答

更多
  • 在javascript中创建类以创建对象并在Java中创建类和对象之间的区别(Difference between creating a class in javascript to create an object and creating an class and object in Java)
  • Facebook API:将身份验证详细信息从Javascript SDK发送到PHP SDK(Facebook API: Send authentication detail from Javascript SDK to PHP SDK)
  • 如何停止队列动画jquery?(How can I stop queue animation jquery?)
  • 使用C#的井字游戏中的人工智能(Artificial Intelligence in Tic-Tac-Toe using C#)
  • 多少流量可以共享虚拟主机(对于Python Django站点)支持?(How Much Traffic Can Shared Web Hosting (for a Python Django site) support?)
  • 带有CIFilters的CAShapeLayer(CAShapeLayer with CIFilters)
  • 如何在Angular 2中读取JSON #text(How to read in Angular 2 the JSON #text)
  • 如何在xml中读取自闭标签的属性?(How to read self closing tag's attribute in xml?)
  • 无法使用http put将图像上传到亚马逊S3(Cannot upload image to amazon s3 using http put)
  • 文件结束无限循环(end of file infinite while-loop)
  • 在cpp的模板(template in cpp)
  • 在构建库时,clang和clang ++有什么区别?(What's the difference between clang and clang++ when building a library?)
  • ng类中的表达式(expression inside ng-class)
  • 在PHP中获取随机布尔值true / false(Get random boolean true/false in PHP)
  • 管道的高效分块用于严格的字节串(Efficient chunking of conduit for strict bytestring)
  • Python ternary_operator(如果其他标志做了其他操作,则执行其他操作)(Python ternary_operator (do-somthing if flag else do-another))
  • Sencha Touch面具发布(Sencha Touch mask ondisclosure)
  • 验证脚本上的通知[重复](Notices on validation script [duplicate])
  • 朋友功能(friend function)
  • 基于角坐标平移和变换平面几何(Translate and transform plane geometry based on corner coordinates)
  • Rails:'如果在本地运行'条件javascript标记包括(Rails: 'if running locally' conditional javascript tag include)
  • 解压文件(Unzipping files)
  • 使用ui-router以角度加载变量状态(loading in variable states with ui-router in angular)
  • 创建Azure云服务需要多长时间?(how long does it take to create an Azure Cloud Service? How to view log information?)
  • 指向整数的指针数组(Array of pointers to integers)
  • Laravel服务提供商没有看到我的包的主要类(Laravel service provider does not see the main class of my package)
  • 这个关于VSS / RSS / PSS / USS的解释是否准确?(Is this explanation about VSS/RSS/PSS/USS accurate?)
  • 在Django-Admin中通过row-id排序显示项目(Ordering the display items by row-id in Django-Admin)
  • 如何使用cythonize启用`--embed`?(How to enable `--embed` with cythonize?)
  • 用于将文本多行设置的Excel脚本(Excel script for ereasing text multiple rows)