Thinking in java(1):对象导论

纯粹的面向对象程序设计的几个特性: 1. 万物皆对象 2. 程序是对象的合集,他通过发消息告诉彼此要做什么 3. 每个对象都有自己的由其他对象所构成的存储 4. 每个对象都有其类型 5. 某一特定类型的所有对象都可以接收同一类型的消息

每个对象都有一个接口 每个对象都有自己的服务(这个是为了高内聚性) 具体类的实现被隐藏,调用方不需要知道被调用方的具体实现 复用具体类实现 代码复用是面向对象程序设计的最了不起的优点之一 使用现有的类合成新的类,这种概念称作组合。如果组合是动态发生的,这个称作聚合。 组合关系在UML图中是通过实心菱形来实现的,例如每个汽车都有一个引擎,则UML图中,引擎一个实心菱形指向汽车。

继承: 继承的UML图是子类一个空心的三角箭头指向基类

“是一个”与“像是一个”的关系: 最完美的继承就是子类不存在新增加的方法,而是覆盖父类的方法,实现新的功能。这是一种是一个的关系,但实际上这个情况比较完美。更多的情况下,子类肯定有新增的方法,这个就是 像是一个 的关系。

伴随多态的可互换方法: 基类中的方法操作都是泛化的,不关心具体子类,而是子类公用的。而多态的实现依赖于编译器的后期绑定的实现。具体调用的对象在方法调用时才确定。 子类转换成基类的过程称为向上转型,有向上转型的需要时才使用继承。

单根继承结构: 在java中所有类都继承自Object类

容器: 好的OOP语言都有容器,用来实现存储对象的集合。

参数化类型: 为了减少从集合中放入或者取出数据的各种转型。

对象的创建和生命周期: java完全采用了动态内存分配的技术,当你想创建对象的时候就必须使用new关键字来构建对象的动态实例。 在栈上创建的对象,编译器可以知道他的生命周期并且动态的销毁他们,而在堆上创建的对象,就需要靠垃圾回收机制来实现了。

异常处理,处理错误: 自编程语言面世以来,错误处理时最困难的问题之一。异常处理不是面向对象的特征之一。

并发: java的并发是内置于语言中的。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏彭湖湾的编程世界

【算法】哈希表的诞生

参考资料 《算法(java)》                           — — Robert Sedgewick, Kevin Wayne 《数据结...

33710
来自专栏数据小魔方

左右用R右手Python系列——字符串格式化输出

学习Python不到一个月,虽然学的很渣,但是还是想通过这种途径分享自己的学习心得,毕竟当初学习R语言也是这么走过来的。 今天是R语言与Python综合系列的第...

4236
来自专栏Leetcode名企之路

【Leetcode】58. 最后一个单词的长度

这个题比较水,主要是注意一下前后有空格这种情况。 如下代码用preLong记录截止到当前字符最后一个单词的长度.

912
来自专栏chenjx85的技术专栏

leetcode-551-Student Attendance Record I(判断是否出现连续几个相同字符)

1346
来自专栏HTML5学堂

原生JS | 数据类型检测,并没你想象的那么简单

HTML5学堂-码匠:看上去,JavaScript中的数据类型检测,并没有什么难度,但是……它包含了不少的知识,如果你只知道一个typeof的话,那很建议你读读...

3205
来自专栏决胜机器学习

有趣的算法(七) ——快速排序改进算法

有趣的算法(七) ——快速排序改进算法 (原创内容,转载请注明来源,谢谢) 一、概述 快速排序,被认为是最好的排序算法之一。快速排序是20世纪60年代被提出...

3174
来自专栏开发技术

排序之希尔排序(shell sort)

本篇博客是在伍迷兄的博客基础上进行的,其博客地址点击就可以进去,里面好博客很多,我的排序算法都来自于此;一些数据结构方面的概念我就不多阐述了,伍迷兄的博客中都...

1153
来自专栏ACM算法日常

简单计算器(栈的变种)- HDU 1237

测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输...

961
来自专栏海天一树

小朋友学C语言(25):两数交换

(一) #include <stdio.h> int main() { int a = 10; int b = 5; printf("B...

2936
来自专栏Python小屋

Python花式编程案例集锦(9):sorted()函数中消失的cmp参数

明天开启全国巡讲Python模式,连续8场20天讲课,外加路上来回大约16天,这个假期有的忙了。所以接下来的一段时间里不一定能像以前更新的那么频繁,我尽量。

923

扫码关注云+社区