《Java从入门到放弃》JavaSE入门篇:面向对象概念(入门版)

要知道什么是面向对象,你首先要有个对象吧,所以······没有对象的可以回家洗洗睡了·

好吧,前面是开玩笑,要说明什么是面向对象,我们还是先


例子:

    小呆:“小傻,你今天早餐吃的什么?”

    小傻:“吃的东西可多啦,有两片面包,一块鸡肉饼,几片菜叶子,一点沙拉酱,另外还喝了一杯可乐,一袋油炸土豆条”

    小呆:“小傻,你四不四洒啊!你直接说你吃的鸡肉堡套餐不行么 - -”

    小傻:“呃,好吧,我吃的

这个鸡肉汉堡套餐”


OK,从上面的例子可以了解到什么是面向对象了吧,初学者可以这样理解:把很多单独的数据和方法封装在一起,就变成了一个对象。

后面我们会讲解面向对象的一些概念:类、对象、属性、方法、封装、继承、多态,通过这些概念再来理解什么是面向对象。

那么,上面这个例子中出现了几个对象呢?

第一个:鸡肉汉堡套餐:包含的属性有鸡肉汉堡,薯条,可乐

第二个:鸡肉汉堡:包含的属性有面包,鸡肉饼,生菜,海拉酱

第三个:一袋薯条:包含的属性有很多根薯条,一个包装袋

第四个:一杯可乐:一个杯子,一些冰块,可乐

第五个:......

是不是发现,这样分析下去可以无穷无尽???哈哈,那就对了,这就是面向对象编程分析。

当然实际开发中我们不会这样不断分解下去,没必要把一个对象最终分解成原子。

一般我们会根据功能来分析具体有哪些对象,如果有一些对象具有相同的属性和方法,我们会把它们归于一类。具体如何分析就是我们接下来的内容了。


基本概念介绍

一、类:

    类就是对一组具有相同属性和方法的对象的一个抽象,简单说就是一个概念,比如“女神”就是一个类

二、对象:

    对象就是类的一个实例,简单说就是一个真实存在的实物,是一个具体的东西了,比如有些看官的女神就很具体了

三、属性:

    属性就是对象的特征,是名词,比如女神都有身高、体重、姓名、年龄和三围等·

     林姐姐:173cm,54kg,林志玲,43和保密。

    苍井姐姐:155cm,45kg,苍井空,34和保密。

     贾大姐:166cm,保密 ,贾 玲,35和保密。

四、方法:

    方法就是对象的行为,是动词或动名词

    林姐姐有游泳、跑步和拍广告等方法。

    苍姐姐有拍写真、拍电影等方法。

    贾大姐有演小品、唱歌等方法。

五、封装:

    封装就很好理解了,都有收发过包裹吧,这就是一种封装

    封装最大的好处就是隐藏细节,只预留使用者关注的功能API就OK了。

    比如空调,从使用者的角度,我们只关心以下功能的使用:开、关、制热、制冷、调温度等。具体这些功能如何实现的,对应的电子电路图是什么样的,使用了什么样的电路板等,我们完全不关心也不用关心。

六、继承:

    继承应该也好理解吧,就是龙生龙,凤生凤,老鼠的儿子会打洞,如果出现下面这情况,就要问问隔壁老王了。

七、多态:

    面向对象中的多态是指不同的对象对相同的指令有不同的执行效果。比如你让不同的葫芦娃执行“放大招()”这个方法,对应的效果就不一样。

今天就先介绍一下基本概念吧,下次我们再来看这些概念对应的Java语法。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏项勇

[Android笔记7]之通过DatePickerDialog,TimePickerDialog调用系统时间设置

2773
来自专栏码匠的流水账

聊聊spring cloud的HystrixAutoConfiguration

本文主要研究一下spring cloud的HystrixAutoConfiguration

992
来自专栏余生开发

echarts太阳分布图-饼图来回穿梭

var dom = document.getElementById("container");

1202
来自专栏ml

md5算法原理一窥(其一)

    首先,需要了解的事,md5并不是传说中的加密算法,只是一种散列算法。其加密的算法并不是我们说所的那样固定不变,只是一种映射的关系。 所以解密MD5没有现...

3887
来自专栏张善友的专栏

VS.Net 2005 Design-Time Integration

Introduction This article provides an overview of the VS.NET 2005 Design-Time I...

1918
来自专栏一个会写诗的程序员的博客

java.sql.SQLException: connection holder is null

java.sql.SQLException: connection holder is null

1341
来自专栏c#开发者

XML Encryption in .Net

XML Encryption in .Net One of the new features being introduced with the Whidbey...

4387
来自专栏JMCui

MongoDB系列五(地理空间索引与查询).

Volvo Today, Volvo announced i...

2722
来自专栏码匠的流水账

聊聊HystrixThreadPool

hystrix-core-1.5.12-sources.jar!/com/netflix/hystrix/HystrixThreadPool.java

791
来自专栏前端儿

Web 前端颜色值--字体--使用,整理整理

颜色值 CSS 颜色使用组合了红绿蓝颜色值 (RGB) 的十六进制 (hex) 表示法进行定义。对光源进行设置的最低值可以是 0(十六进制 00)。最高值是 2...

2372

扫码关注云+社区