Java初步语法(13)之类与对象婚介所

类与对象

终于又开始新的一个章节啦,Java路漫漫,一步一躬行,吾躬行亦未多得, 仍需努力,加油!

面向对象概述:

面向对象是人类最自然的一种思考方式,他讲所有预处理的问题抽象为对象,同时了解这些对象具有哪些相应的属性以及展示这些对象的行为,以解决这些对象面临的一些实际问题。程序开发中引入了面向对象设计的概念,其实质上就是对现实世界中的对象进行建模操作。

下一步先介绍一下我们的类与对象婚介所:

报名招收:

对象:事物存在的实体(二次元虚拟人物不算,死肥宅别搞)

对象的属性和行为需上报:

分为两个部分:

静态部分:对象的属性,如性别(先确定一下是男的女的),身高

动态部分:对象的行为,如炒菜和打架的时候会不会耍十八个刀花…这关系到我们个人后半生和下半身的终生幸福。

在计算机的世界中,面对对象程序设计的思想要以对象来思考问题,首先要将现实世界的实体抽象为对象,然后考虑这个对象的属性和行为(静态部分和动态部分)。

现在我们用我们的类与对象婚介所来解决找“对象”这一实际问题:

(1):首先可以先从婚介所中抽出一个对象;

(2):然后识别这个对象的属性,对象具备的属性都是静态属性,比如,男的找对象的就识别一下对象是不是女的(同性恋我们婚介所是绝对不会收的,想都别想!)

(3):接着识别这个对象的动态属性 “行为”,即这两个对象般配不般配,有没有相同的兴趣和爱好,是不是都有共同的话题。

(4):识别出对象的属性和行为,一看两人特般配,都很好还有共同话题,,那么这个对象就可以定义完成了。就可以试着指定攻略计划,浪漫目标的具体方案来解决找对象这个沉重又无奈的问题。

究其本质,所有的男男女女都具有以上的属性和行为,可以将这些属性和行为都封装起来,描述单身狗这类动物群体。

由此可见,类实际上就是封装对象属性和行为的载体,而对象则是类抽象出来的一个实例。

类:

概念:同一类事物的统称,如果将单身的你我他抽象成对象,类就是这类对象的统称(单身狗)。

又可以说成是:类是封装对象的属性和行为的载体。(单身狗)

还可以说成是:世间事物的抽象称呼,而对象则是这个事物相对应的实体(单身狗!夺命三连)

在Java语言中,类中对象的行为是以方法的形式定义的,对象的属性是以成员变量的形式来定义的,所以类包括对象的属性和方法

面向对象程序设计具有以下特点:

1. 封装性

2. 继承性、

3. 多态性

首先我们先来说一下封装

婚 介所都有其独特的,更能吸引客户的方式,这些都是我们的内部机密,是绝对不会透漏给外人的,这时候就需要用到封装性的方法了。

将对象的属性和行为封装起来,其载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想。

封装性的优点:

保证了类内部数据结构的完整性,应用该类的用户不能轻易地直接操作此数据结构,只能执行类允许公开的数据,

避免了外部操作对数据的影响,提高了程序的可维护性

继承:

类与类之间同样具有关系,这种关系被称为关联关联主要描述两个类之间的一般二元关系,举个例子:男单身狗和剩女就是一个关联,没车没房的人和男单身狗也是一个关联,(别问,问就是满面泪水),两个类之间的关系有很多种,继承就是关联关系中的一种。

当处理一个问题时,可以将一些有用的类保存下来,在遇到同样类型的问题时拿出来复用。

比如现在要解决一个人找对象的问题,在确定其属性和行为后我们就可以找到以前关于相似类的找对象的属性和行为继承过来,当然每个人都是不同的,在原有的基础上再增加一些现在人独特的属性及行为。现在人保留了过去人的属性和行为,这样就节省了定义现在人和过去人共同具有的属性和行为的时间,这就是继承的基本思想。

设计软件时,使用继承思想可以缩短软件开发的周期,复用那些已经定义好的类,可以提高系统的性能,减少系统在使用过程中出现错误的概率。

**继承性主要利用特定对象之间的共有属性。**如,平行四边形和四边形,平行四边形在四边形原有的属性和行为的基础上,又增加了属于自己的属性和行为。平行四边形被称为子类,四边形被称为父类或者超类,可以说子类的实例就是父类的实例,但是父类的实例不能说成是子类的实例(四边形不能称为平行四边形)。

多态:

上面我们说到:继承,父类和子类,其实将父类对象应用于子类的特征就是多态。

至于什么是多态呢?

多态允许以统一的风格来编写程序,以处理种类繁多的已存在的类及相关类。该统一的风格可以由父类实现,根据父类统一风格的处理,可以实例化子类的独享。由于整个事件的处理都只依赖父类的方法,所以日后只需要维护父类的方法即可,这样就降低了维护的难度,节省了时间。
本文章是博主在网上购买的清华大学出版社出版的《Java从入门到精通》第五版自学Java以笔记形式发表,其中博文大多数内容参考次数,为表对原书作者的尊敬,在此推广此书,有兴趣学Java的小伙伴们可以了解一下~

猜你喜欢

转载自blog.csdn.net/kuu_ga/article/details/107932226