首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Thinking in java(1):对象导论

Thinking in java(1):对象导论

作者头像
SecondWorld
发布2018-03-14 11:52:04
5660
发布2018-03-14 11:52:04
举报
文章被收录于专栏:Java开发者杂谈Java开发者杂谈

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

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

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

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

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

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

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

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

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

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档