《Java从入门到放弃》JavaSE入门篇:面向对象概念(入门版)
要知道什么是面向对象,你首先要有个对象吧,所以······没有对象的可以回家洗洗睡了·
好吧,前面是开玩笑,要说明什么是面向对象,我们还是先
例子:
小呆:“小傻,你今天早餐吃的什么?”
小傻:“吃的东西可多啦,有两片面包,一块鸡肉饼,几片菜叶子,一点沙拉酱,另外还喝了一杯可乐,一袋油炸土豆条”
小呆:“小傻,你四不四洒啊!你直接说你吃的鸡肉堡套餐不行么 - -”
小傻:“呃,好吧,我吃的这个鸡肉汉堡套餐”
OK,从上面的例子可以了解到什么是面向对象了吧,初学者可以这样理解:把很多单独的数据和方法封装在一起,就变成了一个对象。
后面我们会讲解面向对象的一些概念:类、对象、属性、方法、封装、继承、多态,通过这些概念再来理解什么是面向对象。
那么,上面这个例子中出现了几个对象呢?
第一个:鸡肉汉堡套餐:包含的属性有鸡肉汉堡,薯条,可乐
第二个:鸡肉汉堡:包含的属性有面包,鸡肉饼,生菜,海拉酱
第三个:一袋薯条:包含的属性有很多根薯条,一个包装袋
第四个:一杯可乐:一个杯子,一些冰块,可乐
第五个:......
是不是发现,这样分析下去可以无穷无尽???哈哈,那就对了,这就是面向对象编程分析。
当然实际开发中我们不会这样不断分解下去,没必要把一个对象最终分解成原子。
一般我们会根据功能来分析具体有哪些对象,如果有一些对象具有相同的属性和方法,我们会把它们归于一类。具体如何分析就是我们接下来的内容了。
基本概念介绍
一、类:
类就是对一组具有相同属性和方法的对象的一个抽象,简单说就是一个概念,比如“女神”就是一个类
女神
二、对象:
对象就是类的一个实例,简单说就是一个真实存在的实物,是一个具体的东西了,比如有些看官的女神就很具体了
林姐姐 苍井姐姐
贾大姐
三、属性:
属性就是对象的特征,是名词,比如上面的女神都有身高、体重、姓名、年龄和三围等·
林姐姐:173cm,54kg,林志玲,43和保密。
苍井姐姐:155cm,45kg,苍井空,34和保密。
贾大姐:166cm,保密 ,贾 玲,35和保密。
四、方法:
方法就是对象的行为,是动词或动名词
林姐姐有游泳、跑步和拍广告等方法。
苍姐姐有拍写真、拍电影等方法。
贾大姐有演小品、唱歌等方法。
五、封装:
封装就很好理解了,都有收发过包裹吧,这就是一种封装
封装最大的好处就是隐藏细节,只预留使用者关注的功能API就OK了。
比如空调,从使用者的角度,我们只关心以下功能的使用:开、关、制热、制冷、调温度等。具体这些功能如何实现的,对应的电子电路图是什么样的,使用了什么样的电路板等,我们完全不关心也不用关心。
六、继承:
继承应该也好理解吧,就是龙生龙,凤生凤,老鼠的儿子会打洞,如果出现下面这情况,就要问问隔壁老王了。
七、多态:
面向对象中的多态是指不同的对象对相同的指令有不同的执行效果。比如你让不同的葫芦娃执行“放大招()”这个方法,对应的效果就不一样。
今天就先介绍一下基本概念吧,下次我们再来看这些概念对应的Java语法。
“软件思维”博客地址:51CTO,博客园,感兴趣的小伙伴可以去看相关的其它博文。
《Java从入门到放弃》JavaSE入门篇:面向对象概念(入门版)的更多相关文章
- dotnet 从入门到放弃的 500 篇文章合集
本文是记录我从入门到放弃写的博客 博客包括 C#.WPF.UWP.dotnet core .git 和 VisualStudio 和一些算法,所有博客使用 docx 保存 下载:dotnet 从入门到 ...
- Java性能测试从入门到放弃-详解篇
Jmeter组件分类说明 Jmeter的组件可以放在任意位置 线程池:用于创建线程.每个线程会"批次顺序"执行任务,因此后面的任务可根据前面的任务决定具体的操作. ...
- python从入门到放弃之线程篇
一,什么是多线程? 1.多线程的概念? 说起多线程,那么就不得不说什么是线程,而说起线程,又不得不说什么是进程. 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分 ...
- 拒绝从入门到放弃_《Python 核心编程 (第二版)》必读目录
目录 目录 关于这本书 必看知识点 最后 关于这本书 <Python 核心编程 (第二版)>是一本 Python 编程的入门书,分为 Python 核心(其实并不核心,应该叫基础) 和 高 ...
- 2018-8-10-dotnet-从入门到放弃的-500-篇文章合集
title author date CreateTime categories dotnet 从入门到放弃的 500 篇文章合集 lindexi 2018-08-10 19:16:52 +0800 2 ...
- Kafka从入门到放弃(三)—— 详说消费者
之前介绍了Kafka以及生产者,包括它的一些特性和参数,这回写一下消费者. 之前没看得可以点击链接阅读. Kafka从入门到放弃(一) -- 初识Kafka Kafka从入门到放弃(二) -- 详说生 ...
- hive从入门到放弃(三)——DML数据操作
上一篇给大家介绍了 hive 的 DDL 数据定义语言,这篇来介绍一下 DML 数据操作语言. 没看过的可以点击跳转阅读: hive从入门到放弃(一)--初识hive hive从入门到放弃(二)--D ...
- Linux Capabilities 入门教程:进阶实战篇
原文链接:https://fuckcloudnative.io/posts/linux-capabilities-in-practice-2/ 该系列文章总共分为三篇: Linux Capabilit ...
- pytorch从入门到放弃(目录)
目录 前置基础 Pytorch从入门到放弃 推荐阅读 前置基础 Python从入门到放弃(目录) 人工智能(目录) Pytorch从入门到放弃 01_pytorch和tensorflow的区别 02_ ...
随机推荐
- jenkins-APP打包页面展示二维码
背景: 客户要求在APP打包页面展示二维码.虽然感觉这个功能很鸡肋,但是还是加上吧. 效果展示: 配置: 在上图中,106对应的内容是BuildName,我们可以通过build-name-setter ...
- FTP服务器 Serv-u 环境搭建
一.安装 *Windows 10 *Serv-u Windows-v15.1.2 *Mysql Mysql 5.7 安装成功后开始配置serv-u. 二.配置 1.新建域(test) 点击新建域,开始 ...
- (转)通过Net-Speeder为搬瓦工提升网速
为了解决丢包问题,最简单粗暴的方法就是双倍发送,即同一份数据包发送两份.这样的话在服务器带宽充足情况下,丢包率会平方级降低.直接优点是降低丢包率,直接缺点是耗费双倍流量.一些延伸影响是更容易触发快速恢 ...
- C# 添加、修改和删除PDF书签
C# 添加.修改和删除PDF书签 有时候我们在阅读PDF文档时会遇到这样一种情况:PDF文档页数比较多,但是又没有书签,所以我们不能根据书签快速了解文档所讲解的内容,也不能点击书签快速跳转到相应的位置 ...
- 【性能】web提升性能的小总结
1. 异步加载js文件,判断文件是否已加载,不重复加载 if (typeof echarts === 'undefined') { console.log('异步加载echarts'); $.getS ...
- 关于第一次STM32连接电脑下载程序
安装了Keil(ARM)版本之后,不管是自己编程,还是配套的程序运行.我们都想把它下载到STM32芯片里面,在板子上运行.这里介绍几种方法. 1.用J-LINK下载调试. 这个工具,可以直接点击kei ...
- MongoDB入门命令
查看所有数据库 > show dbs admin (empty) local 0.078GB > admin和管理相关, admin和local数据库不要轻易动 选择库 > use ...
- XML属性列表
<?xml version="1.0" encoding="UTF-8"?> <Resources> <Include > ...
- 优化hexo访问速度-将hexo部署到云主机VPS
写在开始 一开始将自己hexo部署到github,结果发现打开页面速度有点慢,然后又将其同时部署到coding,实现双线路访问,国内解析记录到coding,国外解析到github,这样确实网站的速度能 ...
- 关于isNAN()函数内进行的莫名其妙的隐式转换?!
isNaN(NaN); // true isNaN(undefined); // true isNaN({}); // true isNaN(true); // false isNaN(null); ...