Java编程思想之每天两小时(二)

1.2每个对象都有一个接口

第一个面向对象语言Simula-67.他在程序中使用基本关键字class来引入新的类型。这个语言是为了开发诸如经典的“银行出纳员问题”(bank teller problem)这样的仿真程序而创建的。

class的由来:在程序执行期间具有不同的状态而其他方面都相似的对象会被分组到对象的类中。

创建抽象数据类型(类)是面向对象程序设计的基本概念之一。抽象数据类型的运行方式与内置(built-in)类型几乎完全一致。对象是那些实体,同时。每一个对象都属于定义了特性和行为的某个特定的类。

所以,当看到类型一词时,可将其作为类来考虑。因为类描述了具有相同特性(数据元素)和行为(功能)的对象集合,程序媛可以通过定义类来适应问题,而不再是被迫只能使用现有的用来表示机器中的存储单元的数据类型。可以根据需求,通过添加新的数据类型来扩展编程语言。

面向对象方法并不仅局限于构建仿真程序。任何程序都是你所设计的系统的一种仿真,面向对象技术的应用确实可以将大量的问题很容易的降解为一个简单的解决方案。

面向对象程序设计的挑战之一就是:在问题空间的元素和解空间的对象之间创建一对一的映射。

怎样才能获取有用的对象?必须有某种方式产生对对象的请求,是对象完成各种任务。每个对象都只能满足某些请求,这些请求由对象的接口(interface)所以定义。,决定接口的便是类型。

以电灯泡为例:

light lt=new light();

lt.on();

接口确定了对某一特定对象所能发出的请求。过程:向某个对象“发送消息”(产生请求),这个对象便知道此消息的目的,然后执行对应的程序代码。

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JavaEdge

桥接模式1 定义2 结构3 分析4 优点5 缺点6 时机

31614
来自专栏阁主的小跟班的专栏

C++11新特性使用总结

最近开始使用C++11编码,编码效率和代码质量提升不少,把目前我遇到的提升效率和代码质量的新特性都总结一下。

4910
来自专栏Kotlin源码阅读

Kotlin源码阅读——Math

NaN其实在JVM上的语言,并不像JS一样,要特别地学习一下,但是NaN这个逻辑也确实存在。代码跟进去:

3084
来自专栏前端侠2.0

见到一个讲bind最好的文章 原

http://developer.51cto.com/art/201710/553608.htm?utm_source=tuicool&utm_medium=r...

992
来自专栏ml

caffe中是如何运用protobuf构建神经网络的?

2195
来自专栏老九学堂

老九学堂第二讲:编写第一个Java程序【原创】

第二讲涉及到的知识点 1Java的运行机制 2Java程序的结构 3熟悉Eclipse开发环境 回顾一下老九君讲的,还记得吗?Java源文件是以后缀为.jav...

3865
来自专栏Crossin的编程教室

【Python 第57课】 正则表达式(3)

先来公布上一课习题的答案: \bs\S*?e\b 有的同学给出的答案是"\bs.*?e\b"。测试一下就会发现,有奇怪的'sea sue'和'sweet see...

2616
来自专栏计算机视觉与深度学习基础

Leetcode 211 Add and Search Word - Data structure design

Design a data structure that supports the following two operations: void addWor...

1975
来自专栏lgp20151222

Java的常量接口思考,项目中的常量是放在接口里还是放在类里呢?

最近在看一本书 Java与模式,里面提了一句不建议使用常量接口,甚至举了个java源码的反例,

1341
来自专栏老马说编程

计算机程序的思维逻辑 (1)

程序大概是怎么回事 计算机就是个机器,这个机器主要由CPU、内存、硬盘和输入输出设备组成。计算机上跑着操作系统,如Windows或Linux,操作系统上运行着各...

20610

扫码关注云+社区

领取腾讯云代金券