Thinking in java第一章对象导论
这一章,做笔记感觉不是很好做。每个人又每个人对面向对象的理解。这里说一下书里的关键字,穿插一下自己的思想
面向对象的编程语言里面很流行的一句话,一切都是对象。面向对象的核心就是抽象,抽象的能力有大有小,是决定程序员高度的一个方面
程序员的爱情里面有句话。我能抽象出整个世界 ,唯独抽象不出你。
最初的 OOP 语言被人描述是这个样子的
一切都是对象。是啊,在自然界,什么都是物品,是动物植物,还是菌类生物。
对象之间通过消息告知彼此应该做什么,其实就是方法的调用。
类其实就是类型的意思,任何对象都属于一种数据类型,这个类型是程序员自己创造的等同于程序内置的数据类型一样,比如int,String等等。差别只是怎么定义你说了算。
属于同种类型的两个对象必然能够结构相同的信息,就是有相同的方法供程序员调用。
面向对象的一切基础就是为了复用。
在谈到继承的时候作者指出,过多的继承会导致抽象的混乱,建议使用包含,对象A包含对象B,对象B为对象A 的实例对象,一个对象可以拥有任意个实例对象。
JAVA是单继承的,所有对象都继承自Object对象,继承也是为了更好的复用。
JAVA是单继承的,这样有一定的缺陷,为了弥补这样的缺陷,JAVA提供了接口 这一概念,接口为类提供了扩展。
接口提供对象可以进行的行为但是没有给出实现,让对象自己实现,使得程序变得更加灵活。
任何实现某一接口的对象必须实现此接口定义的所诱发方法。
UML个人觉得是面向对象理解的强有力的工具,很多初学者看到UML图觉得画那些图没有意义
但是其实作用是很大的,有助于帮助程序员更好的抽象,图让人更清楚对象之间的关系,清楚关系让人更容易抽象。
第一章的内容比较抽象就写到这里,希望大家都能再脑袋里面不断的抽象OOP 这个概念。
转载于:https://www.cnblogs.com/wzforgame/archive/2013/04/10/3013316.html
Thinking in java第一章对象导论相关推荐
- 第一章---对象导论
第一章 对象导论 1.1 抽象过程: 1)万物皆为对象 程序是对象的集合,他们通过发送消息来告知彼此要做的事:想要请求一个对象,就必须向该对象发送一条消息,可以把消息想象成对某个特定对象的方法的 ...
- Think IN JAVA 第一章对象入门
第1章 对象入门 "为什么面向对象的编程会在软件开发领域造成如此震憾的影响?" 面向对象编程(OOP)具有多方面的吸引力.对管理人员,它实现了更快和更廉价的开发与维护过程.对分析与 ...
- JAVA编程思想学习笔记——第一章 对象导论
搞了一年多java,野路子出身,发现java基础这块还是相当的薄弱!故决定学习<Java编程思想>这本书.在此把学习的知识点记录下! 面向对象的五大特性 1.万物皆为对象 2.程序是对象的 ...
- 20190813 On Java8 第一章 对象的概念
第一章 对象的概念 抽象 Alan Kay 总结了对象的五大基本特征 万物皆对象. 程序是一组对象,通过消息传递来告知彼此该做什么. 每个对象都有自己的存储空间,可容纳其他对象. 每个对象都有一种类型 ...
- 学习总结 Java第一章
Java 第一章 1. Java语言特点 简单性 .解释性.面向对象.高性能.分布式处理.多线程.健壮性.动态.结构中立. 安全性 开源.跨平台(比较突出的特点) 2. JDK , JRE , JVM ...
- 【EmbeddedLinuxPrimer翻译】第一章:导论
第一章:导论 本章包含以下子章节: 为什么选择Linux操作系统? 现今嵌入式Linux的发展概况 开放源代码和GPL 标准及相关团体 本章小结 在许多开发传统嵌入式操作系统的公司内部,就是否抛弃掉专 ...
- java基础 第一章 对象入门
第1章 对象入门 "为什么面向对象的编程会在软件开发领域造成如此震憾的影响?" 面向对象编程(OOP)具有多方面的吸引力.对管理人员,它实现了更快和更廉价的开发与维护过程.对分析与 ...
- think in java - 第一章 学习笔记
总观第一章,作者试图为我们讲述面向对象编程(oop)的核心思想,而我的见解是,对象是对具体事物的一种抽象,对象与对象直接的关系通过消息联系. 关于类的三大特性:继承,多态,面向对象,这里不多说. 第一 ...
- Java定义变量x初始值为3,JAVA 第一章
第一章 1.注释: 一个好的开发习惯,应该是多编写注释,这样程序的可读性增强. 单行注释 // 单行注释 ,只注释当前行 多行注释 /* 多行注释 多行注释 */ javadoc 注释 /** jav ...
最新文章
- 洛谷 p2066 机器分配(资源型)
- Linux下把目录拷贝到全部同名目录的脚本
- 由Lucnene 对于预治疗的文字,全角半角转换器(可执行)
- GDT、GDTR、LDT、LDTR的理解
- mysql 高可用方案漫谈(二)
- valid Palindrome -- leetcode
- 制作已编译的html帮助文件
- Python网络爬虫开发实战使用XPath,xpath的多种用法
- 3个平台下的ffmpeg——ffmpeg编译
- Missing artifact com.oracle:ojdbc6:jar:11.2.0.1.0问题解决 ojdbc包pom.xml出错
- 申请google Map api key for android
- php 什么时候使用单例,php什么时候使用单例模式
- 点击出现遮罩层时滚动条会自己回到顶部_浅谈内容型信息流产品的“返回顶部”功能...
- 美食网页设计作品html,美食网页设计与制作.doc
- Skyline软件二次开发初级——2如何在WEB页面中控制三维地图的观察点坐标和角度...
- Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD
- 2021年安徽省大数据与人工智能应用竞赛大数据-本科组赛题
- ink css,CSS text-decoration-skip-ink属性用法及代码示例
- 面试宝典(一) - 让你不再错过“金九银十“的求职浪潮之简历包装篇
- 韦东山ARM第一期总结