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

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


例子:

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

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

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

小傻:“呃,好吧,我吃的这个鸡肉汉堡套餐”


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

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

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

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

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

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

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

第五个:......

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

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

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


基本概念介绍

一、类:

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

女神

二、对象:

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

               

林姐姐                                                  苍井姐姐

贾大姐

三、属性:

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

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

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

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

四、方法:

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

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

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

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

五、封装:

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

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

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

六、继承:

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

七、多态:

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

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

“软件思维”博客地址:51CTO博客园,感兴趣的小伙伴可以去看相关的其它博文。

《Java从入门到放弃》JavaSE入门篇:面向对象概念(入门版)的更多相关文章

  1. dotnet 从入门到放弃的 500 篇文章合集

    本文是记录我从入门到放弃写的博客 博客包括 C#.WPF.UWP.dotnet core .git 和 VisualStudio 和一些算法,所有博客使用 docx 保存 下载:dotnet 从入门到 ...

  2. Java性能测试从入门到放弃-详解篇

    Jmeter组件分类说明 Jmeter的组件可以放在任意位置 线程池:用于创建线程.每个线程会"批次顺序"执行任务,因此后面的任务可根据前面的任务决定具体的操作.          ...

  3. python从入门到放弃之线程篇

    一,什么是多线程? 1.多线程的概念? 说起多线程,那么就不得不说什么是线程,而说起线程,又不得不说什么是进程. 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分 ...

  4. 拒绝从入门到放弃_《Python 核心编程 (第二版)》必读目录

    目录 目录 关于这本书 必看知识点 最后 关于这本书 <Python 核心编程 (第二版)>是一本 Python 编程的入门书,分为 Python 核心(其实并不核心,应该叫基础) 和 高 ...

  5. 2018-8-10-dotnet-从入门到放弃的-500-篇文章合集

    title author date CreateTime categories dotnet 从入门到放弃的 500 篇文章合集 lindexi 2018-08-10 19:16:52 +0800 2 ...

  6. Kafka从入门到放弃(三)—— 详说消费者

    之前介绍了Kafka以及生产者,包括它的一些特性和参数,这回写一下消费者. 之前没看得可以点击链接阅读. Kafka从入门到放弃(一) -- 初识Kafka Kafka从入门到放弃(二) -- 详说生 ...

  7. hive从入门到放弃(三)——DML数据操作

    上一篇给大家介绍了 hive 的 DDL 数据定义语言,这篇来介绍一下 DML 数据操作语言. 没看过的可以点击跳转阅读: hive从入门到放弃(一)--初识hive hive从入门到放弃(二)--D ...

  8. Linux Capabilities 入门教程:进阶实战篇

    原文链接:https://fuckcloudnative.io/posts/linux-capabilities-in-practice-2/ 该系列文章总共分为三篇: Linux Capabilit ...

  9. pytorch从入门到放弃(目录)

    目录 前置基础 Pytorch从入门到放弃 推荐阅读 前置基础 Python从入门到放弃(目录) 人工智能(目录) Pytorch从入门到放弃 01_pytorch和tensorflow的区别 02_ ...

随机推荐

  1. Angularjs Material

    公司用Angularjs Material进行开发,之前在网站上看了一些Demo,做一个学习的整理. 1.新建窗体的数据绑定 1.1修改kendo表格新增页面按钮,添加按钮,并Dialog一个窗体 t ...

  2. TCP服务通讯

    一.TCP 1.TCP又叫做套接字,传输安全,速度慢. TCP和UTP是网络的传输协议,跟java没什么关系,没有说用java做的客户端必须连接java做的服务器,我们可以用c和c++做客户端,直接连 ...

  3. xdu_1077:循环节长度

    题意很简单,就是给出p,q,求p/q的循环节长度. 由循环小数的循环部分的值等于等比数列求和的值S,列公式得到最简分数分母的值.最终得10^x%q==1(其中q为经过modify之后的值).搞清这些之 ...

  4. 2、微信小程序之弹幕的实现(无后台)

    对弹幕功能主要利用环信来实现的,读者也许对环信这个东西很陌生,请先自行了解这环信再来看这文章. 环信开发文档:http://docs.easemob.com/im/400webimintegratio ...

  5. spring加载异常

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' ...

  6. Mybatis Dynamic Query 简单筛选

    在框架中,筛选描述类有两种(FilterDescriptor, FilterGroupDescriptor),这里我们主要举例来说明FilterDescriptor用法. FilterDescript ...

  7. 【PHP】数组用法(转)

    摘要: 说明数组遍历方法foreach,while,for,推荐使用foreach(PHP内部实现,简单速度最快,还可以遍历类属性).以及一些常用方法current,prev,next,end,key ...

  8. Android学习笔记-绘制圆形ImageView实例

    现在很多的APP都很喜欢圆形的头像,这里就简单的写个圆形的ImageView~ 第三方圆形ImageView控件: RoundedImageView CircleImageView 实现代码: 自定义 ...

  9. CSS实现横列布局的方法总结

    一.使用float实现横列布局的方法 如下面所示:DIV1和DIV2都可以选择向左或者向右浮动50%来实现展示在同一行 div1 div2 实现下面图片中布局的css样式如下: 分析: 1.第一行第一 ...

  10. 45. leetcode 504. Base 7

    504. Base 7 Given an integer, return its base 7 string representation. Example 1: Input: 100 Output: ...