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

java面向对象的含意

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

最满意答案

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

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

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

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

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

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

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

相关问答

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

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

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

相关文章

更多

最新问答

更多
  • Pandas Dataframe:根据多个条件创建列(Pandas Dataframe: Creating column based on multiple conditions)
  • 电工特种作业操作证汕头市澄海区那里有培训
  • 我的JDBCTemplate代码对select操作有什么问题?(What is wrong with my JDBCTemplate code for select operation?)
  • iphone sdk 4.1内存泄漏:可能是场景替换问题(cocos2d)(iphone sdk 4.1 memory leackage: may be scene replace problem (cocos2d))
  • 现在学习什么技术最有前途那
  • 将json响应转换为ArrayList 时,为什么gson库将整数值设置为零?(Why is gson library setting integer values to zero when converting json response to ArrayList?)
  • 请问:红木家具计算机雕花技术广东哪里有得学呢?急!!谢谢
  • Web组件与小组件:有区别吗?(Web Components vs. Widgets: Is there a difference?)
  • 为什么要使用多个catch块?(Why to use multiple catch blocks?)
  • VB脚本日期格式为“YYYYMMDDHHMMSS”(VB Script date formats “YYYYMMDDHHMMSS”)
  • 有一个缩写为AZ的解压压缩包的软件,是什么软件
  • 如何从液体标签访问Rails控制器?(How to access the Rails controller from a liquid tag?)
  • 如何仅在git中复制和替换分支中的一些项目文件(how to copy and replace some project files in a branch only in git)
  • 检查一个值是否等于Django模板中另一个数字的模数(Check if a value is equal to the modulo of another number in a Django template)
  • 如何使shell脚本自动化并读取当前时间?(How do I make a shell scripted automated and read current time?)
  • Recyclerview页眉和页脚的IndexOutOfBoundsException(IndexOutOfBoundsException for Recyclerview header and footer)
  • Rails 3中的模板路径(Template path in Rails 3)
  • Python内联if语句(Python inline if statement)
  • 使用Django ORM,如何执行此INNER JOIN类型的查询?(Using Django ORM, how to perform this INNER JOIN type of query?)
  • group_by与其中的R(group_by with which in R)
  • 如何避免重复的代码目标-c(How to avoid duplicate code objective-c)
  • Laravel - 包括外部项目(Laravel – Include external Project)
  • 如何在Rails中打印出一个对象的内容,便于调试?(How do I print out the contents of an object in Rails for easy debugging?)
  • Google表格API:golang BatchUpdateValuesRequest(Google Sheets API: golang BatchUpdateValuesRequest)
  • 是否允许在c中允许其他结构内的结构定义?(Is structure definition inside another structure allowed in c? [duplicate])
  • 使用onClick从适配器更改ListView项目布局(Changing ListView item layout from adapter with onClick)
  • mysql左连接只从左表中选择最高(mysql left join selecting only highest from left table)
  • ImportError:proj / proj / celery.py中没有名为'celery'的模块(ImportError: No module named 'celery' in proj/proj/celery.py)
  • 学Java好吗?
  • 在Mac上运行ruby实用程序时出现GEM LOAD错误(Getting GEM LOAD error when I run a ruby utility on Mac)