对象是啥意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象是啥意思?相关的知识,希望对你有一定的参考价值。

对象是什么意思?

对象(object)是一件事、一个实体、一个名词,可以获得的东西,可以想象有自己的标识的任何东西。对象是类的实例化。一些对象是活的,一些对象不是。客户端对象件的包含关系图比如这辆汽车、这个人、这间房子、这张桌子、这株植物、这张支票、这件雨衣。 概括来说就是:万物皆对象。 面向对象(ObjectOriented,OO)是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。 在ASP动态网页中,对象是一个抽象的概念,是要操作的目标。比如,在现实生活中,电脑就是我们搜寻资料的一个对象,他具有外观、操作系统、价格等等特点,这在对象概念中被称为属性,而利用这个电脑玩游戏、看电影、查找资料等用途,这就对应于对象里的方法,另外,主板、CPU、显卡、键盘等等组件,我们可以称作对象的集合。 在ASP动态网页中,对象的特点归结起来有三个:属性、方法、集合。
1、面向对象的基本概念
(1)类 具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。 类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。 类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。 (2)类的结构 在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般--具体结构关系,整体--部分结构关系。 ①一般——具体结构称为分类结构,也可以说是“或”关系,或者是“is a”关系。 ②整体——部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。 (3)对象 对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。 (4)对象的状态和行为 对象具有状态,一个对象用数据值来描述它的状态。 对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。 对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中 (5)消息和方法 对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。
2、面向对象的特征
(1)对象唯一性 每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。 (2)分类性 分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。 (3)继承性 继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。 继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。 在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。 在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。 在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。 采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。 (4)多态性(多形性) 多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。 多态性允许每个对象以适合自身的方式去响应共同的消息。 多态性增强了软件的灵活性和重用性。
3、面向对象的要素
(1)抽象 抽象是指强调实体的本质、内在的属性。在系统开发中,抽象指的是在决定如何实现对象之前的对象的意义和行为。使用抽象可以尽可能避免过早考虑一些细节。 类实现了对象的数据(即状态)和行为的抽象。 (2)封装性(信息隐藏) 封装性是保证软件部件具有优良的模块性的基础。 面向对象的类是封装良好的模块,类定义将其说明(用户可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部实现按其具体定义的作用域提供保护。 对象是封装的最基本单位。封装防止了程序相互依赖性而带来的变动影响。面向对象的封装比传统语言的封装更为清晰、更为有力。 (3)共享性 面向对象技术在不同级别上促进了共享: ①同一类中的共享 同一类中的对象有着相同数据结构。这些对象之间是结构、行为特征的共享关系。 ②在同一应用中共享 在同一应用的类层次结构中,存在继承关系的各相似子类中,存在数据结构和行为的继承,使各相似子类共享共同的结构和行为。使用继承来实现代码的共享,这也是面向对象的主要优点之一。 ③在不同应用中共享 面向对象不仅允许在同一应用中共享信息,而且为未来目标的可重用设计准备了条件。通过类库这种机制和结构来实现不同应用中的信息共享。 (4).强调对象结构而不是程序结构
4、面向对象的开发方法
目前,面向对象开发方法的研究已日趋成熟,国际上已有不少面向对象产品出现。面向对象开发方法有Coad方法、Booch方法和OMT方法等。 (1).Booch方法 Booch最先描述了面向对象的软件开发方法的基础问题,指出面向对象开发是一种根本不同于传统的功能分解的设计方法。面向对象的软件分解更接近人对客观事务的理解,而功能分解只通过问题空间的转换来获得。 (2).Coad方法 Coad方法是1989年Coad和Yourdon提出的面向对象开发方法。该方法的主要优点是通过多年来大系统开发的经验与面向对象概念的有机结合,在对象、结构、属性和操作的认定方面,提出了一套系统的原则。该方法完成了从需求角度进一步进行类和类层次结构的认定。尽管Coad方法没有引入类和类层次结构的术语,但事实上已经在分类结构、属性、操作、消息关联等概念中体现了类和类层次结构的特征。 (3).OMT方法 OMT方法是1991年由James Rumbaugh等5人提出来的,其经典著作为“面向对象的建模与设计”。 该方法是一种新兴的面向对象的开发方法,开发工作的基础是对真实世界的对象建模,然后围绕这些对象使用分析模型来进行独立于语言的设计,面向对象的建模和设计促进了对需求的理解,有利于开发得更清晰、更容易维护的软件系统。该方法为大多数应用领域的软件开发提供了一种实际的、高效的保证,努力寻求一种问题求解的实际方法。 (4).UML(Unified Modeling Language)语言 软件工程领域在1995年~1997年取得了前所未有的进展,其成果超过软件工程领域过去15年的成就总和,其中最重要的成果之一就是统一建模语言(UML)的出现。UML将是面向对象技术领域内占主导地位的标准建模语言。 UML不仅统一了Booch方法、OMT方法、OOSE方法的表示方法,而且对其作了进一步的发展,最终统一为大众接受的标准建模语言。UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发全过程。
参考技术A 对象是类的实例,类是是对具有相似特征的食物的抽象!本回答被提问者采纳 参考技术B 有的人,
上学找不到对象,说要好好学习,好嘛,我看你毕业能拿多少月薪。
工作了找不到对象,说要奋斗几年,好嘛,我看你能干出点什么来。
可是你毕业了才几千的月薪,好好学习,有毛用吗?
可是你干几年连房都买不起,奋斗,有毛用吗?
对象都没有的人,谈什么学习,谈什么奋斗,谈什么都失败。
参考技术C 对象是……

Java静态对象是啥意思?

【中文标题】Java静态对象是啥意思?【英文标题】:What does Java static object mean?Java静态对象是什么意思? 【发布时间】:2017-08-13 14:42:36 【问题描述】:

如果我们将对象设为静态有什么好处?求详细解释!!

【问题讨论】:

你的意思是引用一个对象的静态变量吗? 您不能将对象设为静态。这基本上是静态的重点。 static 表示该项目位于“类世界”,而不是“对象世界”。所以static 说:“一个元级别更高”。 @WillemVanOnsem 类可以有字段,但它们并不总是原始类型。 是的,并且 field 是静态的,而不是 object 本身......问题中也提到了这一点:“静态变量”。 @DeepakGarg 给出一个代码示例来说明你的意思。你的问题还不清楚。如上所述,没有什么叫做“静态对象” 【参考方案1】:

你可以将一个变量设为静态,而这个 Var 指的是一个对象,为什么会这样呢?一个静态的意味着它对所有应用程序都是可见的(也取决于它的包可见性,公共的,受保护的,默认的,私有的)

为什么会好?好吧,也许你正在创建一个“静态对象”以便在不同的对象中使用它,例如游戏,看我做了一个(“当然这是一个例子”)

public class Dummy 
    static Player player = new Player("Yussef");
    public static void main(String[] args) 
        stageOne();
        satageTwo();
    
    static void stageOne()
        System.out.println("Ready? Go");
        System.out.println(player);
        System.out.println("Ouch an enemy hit me");
        player.setLife(80);
        System.out.println(player);
    

    static void satageTwo()
        System.out.println("Good, now you're in next level");
        System.out.println(player);
        System.out.println("Ouch an enemy hit me");
        System.out.println("Ouch an enemy hit me");
        player.setLife(40);
        System.out.println(player);


    




class Player

    private String name;
    private int life;

    Player(String name)
        this.name = name;
        life = 100;
    


    @Override
    public String toString() 
        return "My name is: "+name+" And mi actual life is: "+life;
    


    public void setLife(int life) 
        this.life = life;
    

现在想象一下,尽管使用相同的类,我会创建更多的类,或者更多的玩家,那么问题是:我的玩家将在我的所有游戏中拥有相同的生活和相同的名字,所以无论如何我玩的舞台我将拥有相同的属性或更改它们;)。

这是我想到的一个例子,希望它可以帮助你

【讨论】:

太棒了。!!谢谢。

以上是关于对象是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

对象是啥意思?

普通旧 Java 对象 (POJO) 是啥意思?

上下文对象是啥意思,在调用intent方法时,要传入一个上下文对象,到底是啥意思⊙_⊙

Resharper 所说的“对象分配(明显)”是啥意思?

JFrame对象是啥意思??怎么包含3个??

“弱引用对象不再存在”是啥意思?