【Java】《Java疯狂讲义》自学笔记-第二章
来源:互联网 发布:围棋入门那个软件 编辑:程序博客网 时间:2024/05/29 13:15
两种主流的开发方法:结构化开发方法和面向对象开发方法。
C++,Java,C#,Ruby均是后者。面向对象的三种基本特征 : 继承,封装和多态。
封装:对对象的实现细节隐藏起来,然后通过一些公用方法来暴露该对象的功能
继承:面向对象实现软件复用的重要手段,当子类继承父类,子类作为一种特殊的父类,将直接获得父类的属性和方法;
多态:子类对象可以直接赋给父类变量,但裕兴依然表现出子类的行为特征,这意味着同一个类型的对象在执行同一个方法时,可能表现出多种行为特征;
------
抽象:忽略一个主题中与当前目标无关的那些方面,通常只能定义对象的部分数据,部分行为特征——而这些数据,行为特征是软件系统所关心的部分
【1】结构化程序设计(也被称作 面向数据(流)的程序设计方法)
首先,结构化分析(SA)对系统进行需求分析,然后使用结构化设计(SD)对系统进行概要设计,详细设计,最后采用结构化编程(SD)方法来实现系统。
最小程序单元是函数。对数据进行处理。采用结构化方式设计的软件系统,整个软件系统就由一个个函数组成,这个软件的运行入口往往由一个“主函数”代表,而主函数负责把系统中的所有函数“串起来”。
顺序结构,选择结构,循环结构。
【2】面向对象程序设计
从现实世界中客观存在的事物(即对象)为中心来思考,认识问题,并根据这些食物的本质特点,把它们抽象地表示为系统中的类,作为系统的基本构成单元(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的过程来构造系统),这使得软件系统的组件可以直接映像到客观世界,并保持客观世界中事物及其相关关系的本来面貌。
最小程序单元是 类。类生成系统中的多个对象,而这些对象则直接映像成客观世界的各种事物。
面向对象的语言不仅使用类来封装一类事物的内部状态数据,这些动态数据就对应于上图的Filed(成员变量);而且类会提供操作这些状态数据的方法,还会为这类实物的行为特征提供相应的实现,这种实现也是方法。
类定义 = Field(状态数据)+ Method(行为)
面向对象希望对客观世界进行模拟:定义一个类,对应客观世界的哪种事物;业务需要关心这个事物的哪些状态,程序就为这些状态定义成员变量(Field);业务需要关心这个事物的哪些行为(Method),程序就为这些行为定义方法。
面向对象还支持如下几个功能:
【3】例子“猪八戒吃西瓜”
面向过程: 吃(猪八戒,西瓜)
面向对象:猪八戒,吃(西瓜)
【4】基于对象 VS 面向对象
基于对象: 也使用了对象,但是无法利用现有的对象模板产生新的对象类型,继而产生新的对象。→没有“继承”的特点,也就不存在“多态”
eg. JavaScript
面向对象:三大特征缺一不可
0 0
- 【Java】《Java疯狂讲义》自学笔记-第二章
- 【Java】《Java疯狂讲义》自学笔记-第一章
- 【Java】《Java疯狂讲义》自学笔记-第三章
- 【Java】《Java疯狂讲义》自学笔记-第四章
- 疯狂Java讲义笔记
- 疯狂Java讲义笔记
- 《疯狂Java讲义》笔记
- Java疯狂讲义第五章笔记
- 《疯狂Java讲义》学习笔记
- 疯狂JAVA讲义笔记--第一章
- 疯狂JAVA讲义---第二章:理解面向对象
- 疯狂java讲义 第二章 理解面向对象
- [疯狂Java讲义精粹] 第二章|数据类型和运算符
- 疯狂JAVA讲义——第二章练习题
- 疯狂JAVA讲义——第二章练习题
- <疯狂 android讲义>第二章 笔记
- Java笔记,疯狂Java讲义,第五六章Review
- 疯狂JAVA讲义个人笔记——第四章
- Mybatis插件PageHelper 4.0版本中PageInfo简介
- Glide高级介绍
- 使用git切换分支
- JS实现二维数组横纵列转置
- 搜索服务
- 【Java】《Java疯狂讲义》自学笔记-第二章
- hdu1241 Oil Deposits
- asp.net开发思路
- 图片向两侧侧滑效果
- Linux中普通文件到底是什么
- android 声卡音频策略小记
- 关于synchronized、wait、notify已经notifyAll的使用
- JAVA产生任意范围的随机数
- 解决Android studio 2.3 小米手机不能调试