java编程思想之面向对象
面向对象和面向过程
面向对象(Object Oriented),简称OO,是软件开发方法的一种,我们都知道java是基于面向对象开发的,但是说到面向对象,我们不得不提一提面向过程开发,面向过程,又称结构化开发,是指在开发过程中注重过程设计,用函数来表示过程,强调过程间的执行顺序,具有代表性的语言比如c语言,而面向对象则注重过程的复用性和扩展性,我举一个简单的例子,我们每天起床后都要做的一些事情,我用方法来描述
- 洗脸
- 刷牙
- 吃早餐
- 背着书包上学堂
如果用面向过程的方法来解决,那么很显然我们每天都是按着1、2、3、4的顺序在执行,但是总有一些特殊情况,比如说今天起晚了,没有时间吃饭了,那么怎么让程序变为1、2、4呢,对于纯粹的面向过程,我们只能回去改源代码,如果我们把每一步都用一个函数来包装,那我们只需要少调用一个3便达到了目的,在这里函数包装就是面向对象的思想,可以看出,在面向过程编程中也有面向对象的影子,其实在面向对象中也有面向过程,面向对象强调过程(也就是函数)的复用性和扩展性,那么这个函数从何而来呢,来自于过程,其实我们不应该去比较面向过程和面向对象的好坏,他们只是历史发展的潮流,面向过程注重过程的实现,其中有面向对象的雏形,面向对象又是对过程的包装,不同的时代,所注重的重点不同
面向对象思想
java面向对象主要分为以下几个方面:
- 抽象:我们生活中的抽象是指看不见摸不着的东西,总是指一些难以理解的事物,而在计算机科学领域,抽象是指抽出一类事物的本质,一些我们注重的特性。
- 类:当我们通过抽象提取出来一些特性,就得有容器来装这些特性,类就是 java中用来装特性的容器,类具有属性和方法,分别对应事物的属性和行为。
- 对象:当我们拥有类的时候,怎么使用这些类呢,类的实例化,实例化是将一个抽象的类赋予其特定的属性,构造出一个实实在在存在的,我们可以使用的对象,对象是类的实例化。
- 封装:在上面提到了函数是对过程的简单封装,那我们为什么不封装的更加彻底一些呢,将我们抽象提取出来的一类事物的属性和行为封装起来呢!这就是封装,至于彻底不彻底,这得比java更加抽象的语言来证明。
- 继承:继承是类与类之间的关系,继承的前提是二者是一类事物(比如说都是老师)。当一个A(例如:老师类)类已经存在时,我们还需要一个B(例如:数学老师类)类,我们发现B是在A的基础上,但又不同于A,我们希望通过某种方式来描述B类,继承可以帮助我们不必从无到有的构造这个B类,我们直接在A类的基础上,增加B的区别于A类的属性和行为。
- 多态:多态是类与对象之间的关系,多态的前提是继承和实例化,在上面我们了解了继承的一个好处,他可以帮助我们快速的构造一个类,而多态就是继承的另外一个好处,多态可以理解为一种对象多种实现方式(实现方式指的是实例化),例如A a = new B(),我们声明了一个A的对象,但却是B的实例化,这个a可以调用A和B共有的方法。有些时候我们写代码并不确定这里是一个什么类型,只能在运行时期才能确定是什么类型,所以先声明一个父类,运行期间无论碰到哪一个子类程序都没有问题。
java编程思想之面向对象的更多相关文章
- java编程思想-复用类总结
今天继续读<java 编程思想>,读到了复用类一章,看到总结写的很好,现贴上来,给大家分享. 继承和组合都能从现有类型生成新类型.组合一般是将现有类型作为新类型底层实现的一部分来加以复用, ...
- 《Java编程思想》第一二章
前段时间一直通过网络教程学习Java基础,把面向对象部分学完之后本来打算继续深入学习,但是感觉自己操之过急了,基础根本不够扎实,所以入手了一本<Java编程思想>,希望先把基础打好,再深入 ...
- Java编程思想读书笔记(一)【对象导论】
2018年1月7日15:45:58 前言 作为学习Java语言的经典之作<Java编程思想>,常常被人提起.虽然这本书出版十年有余,但是内容还是很给力的.很多人说这本书不是很适合初学者,我 ...
- 异常笔记--java编程思想
开一个新的系列,主要记一些琐碎的重要的知识点,把书读薄才是目的...特点: 代码少,概念多... 1. 基本概念 异常是在当前环境下无法获得必要的信息来解决这个问题,所以就需要从当前环境跳出,就是抛出 ...
- Java编程思想(后)
Java编程思想(后) 持有对象 如果一个程序只包含固定数量的且其生命期都是已知的对象,那么这是一个非常简单的程序. Java中的库基本类型: List, Set, Queue和Map --- 称为集 ...
- Java编程思想(前十章)
Java编程思想 有C++编程基础的条件下, 前10章可以快速过一下,都是基本语法,不需要花太多时间. 着重中后段的一些章节,类型信息.泛型.容器.IO.并发等. 中文翻译版 阅读地址 对于一个架构师 ...
- 《Java编程思想第四版》附录 B 对比 C++和 Java
<Java编程思想第四版完整中文高清版.pdf>-笔记 附录 B 对比 C++和 Java “作为一名 C++程序员,我们早已掌握了面向对象程序设计的基本概念,而且 Java 的语法无疑是 ...
- Java编程思想 4th 第2章 一切都是对象
Java是基于C++的,但Java是一种更纯粹的面向对象程序设计语言,和C++不同的是,Java只支持面向对象编程,因此Java的编程风格也是纯OOP风格的,即一切都是类,所有事情通过类对象协作来完成 ...
- 《Java编程思想》阅读笔记二
Java编程思想 这是一个通过对<Java编程思想>(Think in java)进行阅读同时对java内容查漏补缺的系列.一些基础的知识不会被罗列出来,这里只会列出一些程序员经常会忽略或 ...
随机推荐
- windown下linux子系统的安装和卸载
原文:windown下linux子系统的安装和卸载 安装 第一步 打开开发人员模式 第二步 勾选适用linux的window子系统 第三步 打开powershell 第四步 在PowerShe ...
- ZOJ 2334 HDU 1512 Monkey King
题意: 猴子们打架 认识的猴子不会打架 两仅仅猴子打完以后就认识了 A认识B B认识C A也认识C 每次打架由两伙猴子进行 分别选出自己的最高战斗力 在战斗之后两仅仅猴子战斗力减半 给出 ...
- 编译wxWidgets —— windows、vc71、bcc32、MinGW与命令行
编译wxWidgets —— windows.vc71.bcc32.MinGW与命令行 http://www.diybl.com/course/3_program/vc/vc_js/20071226/ ...
- 漫谈 KVC 与 KVO
KVC 与 KVO 无疑是 Cocoa 提供给我们的一个非常强大的特性,使用熟练可以让我们的代码变得非常简洁并且易读.但 KVC 与 KVO 提供的 API 又是比较复杂的,绝对超出我们不经深究之前所 ...
- Installation and Configuration Guide
Harbor can be installed by one of three approaches: Online installer: The installer downloads Harbor ...
- Touch panel DTS 分析(MSM8994平台,Atmel 芯片)
Touch panel DTS 分析(MSM8994平台,Atmel 芯片) 在MSM8994平台,Touch panel的DTS写节点/kernel/arch/arm/boot/dts/qcom/m ...
- WPF特效-绘制实时2D激光雷达图
原文:WPF特效-绘制实时2D激光雷达图 接前两篇: https://blog.csdn.net/u013224722/article/details/80738619 https://blog.cs ...
- AngularJS 多级下拉框
<div ng-app="MultiDropDownApp" ng-controller="MultiDropDownControl as vm"> ...
- wpf border内部元素内边角溢出问题 裁剪效果
效果图 <Grid> <Border BorderThickness=" BorderBrush="#3c4d72" CornerRadius=&quo ...
- js 超链接点击
<!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...