1. 对象导论

  OOP 面向对象编程
  C、Basic等语言所在的抽象仍要求在解决问题时基于计算机的解决,而不是基于所解决问题的结构来考虑。 
  要建立起问题空间的元素和解空间的对象之间一一映射的关系
  万物皆对象;程序是对象的集合

每个对象都提供服务

  当正在试图开发或者理解一个程序设计时,最好的方法之一就是将对象想象成“服务提供者”。程序本身将向用户提供服务,它将通过调用其他对象提供的服务来实现这一目的。

被隐藏的具体实现

  将开发者分为类创建者类消费者,类创建者目标是构建类,这种类只向类消费者暴露必需的部分,而隐藏其他部分。
  访问控制的第一个存在原因是让类消费者无法触及他们不应该触及的部分,第二个存在原因是运行类创建者可以改变类内部的工作方式而不用担心会影响到类消费者。public、private、protected

复用具体实现

  事实上,产生一个可复用的对象设计需要丰富的经验和敏锐的洞察力。最简单的复用某个类的方式就是创建一个成员对象,这种方式叫组合,如果组合是动态发生的,那么就叫聚合
  继承在OOP中很重要,所以经常被强调,于是程序员新手就会有这样的印象:处处都应该使用继承。这会导致难以使用和过分复杂的设计。实际上,在建立新类时,应该首先考虑组合,因为它更加简单灵活

继承

【Think In Java笔记】第1章 对象导论的更多相关文章

  1. [Java编程思想] 第一章 对象导论

    第一章 对象导论 "我们之所以将自然界分解,组织成各种概念,并按其含义分类,主要是因为我们是整个口语交流社会共同遵守的协定的参与者,这个协定以语言的形式固定下来--除非赞成这个协定中规定的有 ...

  2. [Java编程思想-学习笔记]第1章 对象导论

    1.1  抽象过程 Java是一门面向对象的语言,它的一个优点在于只针对待解问题抽象,而不用为具体的计算机结构而烦心,这使得Java有完美的移植性,也即Java的口号"Write Once, ...

  3. 学习java编程思想 第一章 对象导论

    一.面向对象的五个基本特性: 1.万物皆为对象.将对象视为奇特的变量,他可以存储数据,还可以要求它在自身上执行操作. 2.程序是对象的合集,他们通过发送消息告诉彼此所要做的. 3.每个对象都有自己的由 ...

  4. JAVA编程思想第一章——对象导论

  5. c#高级编程第七版 学习笔记 第三章 对象和类型

    第三章 对象和类型 本章的内容: 类和结构的区别 类成员 按值和按引用传送参数 方法重载 构造函数和静态构造函数 只读字段 部分类 静态类 Object类,其他类型都从该类派生而来 3.1 类和结构 ...

  6. C++ primer plus读书笔记——第10章 对象和类

    第10章 对象和类 1. 基本类型完成了三项工作: 决定数据对象需要的内存数量: 决定如何解释内存中的位: 决定可使用数据对象执行的操作或方法. 2. 不必在类声明中使用关键字private,因为这是 ...

  7. Java 学习笔记 ------第五章 对象封装

    本章学习目标: 了解封装的概念与实现 定义类.构造函数与方法 使用方法重载与不定长度自变量 了解static方法 一.Java封装概念 在面向对象程式设计方法中,封装(英语:Encapsulation ...

  8. think in java 第四版读书笔记 第一章对象导论

    很久没有碰过java了,为了项目需要以及以后找工作,还是有必要将think in java通读一遍.欢迎大家一起讨论学习 1.1抽象过程 面向对象语言的5个特性: 1.万物皆对象 任何事物都可以抽象为 ...

  9. [core java学习笔记][第四章对象与类]

    4.3 用户自定义类 4.3.1 类数组的声明 需要两次new Employee[]=staff=new Employedd[3]; staff[0]=new Employedd(参数列表); sta ...

随机推荐

  1. vbox ubuntu虚拟机中加载笔记本内置摄像头

    使用C:\Program Files\Oracle\VirtualBox\VBoxManage.exe工具加载摄像头 1,显示可用摄像头 C:\Program Files\Oracle\Virtual ...

  2. 2018-8-10-git-提交添加-emoij-文字

    title author date CreateTime categories git 提交添加 emoij 文字 lindexi 2018-08-10 19:16:52 +0800 2018-2-1 ...

  3. Python--day41--threading中的定时器Timer

    定时器Timer:定时开启线程 代码示例: #定时开启线程 import time from threading import Timer def func(): print('时间同步') #1-3 ...

  4. H3C 建立邻接关系

  5. svn 冲突解决办法(黄色感叹号)

    右键:"TortoiseSVN"->"Resolved..."已解决的..., 选中全部的文件,然后OK,,然后就可以commit提交了.

  6. CCPC 2018 吉林 H "LOVERS" (线段树)

    ---恢复内容开始--- 传送门 参考资料: [1]:https://blog.csdn.net/mmk27_word/article/details/89788448 题目描述: The Fool ...

  7. H3C CIDR

  8. MYSQL 查询日期最大的那条记录

    首先把官网示例拿出来: 连接查询比子查询性能更好 3.6.4 The Rows Holding the Group-wise Maximum of a Certain Column Task: For ...

  9. Maven工程

    maven:父子工程 1,父工程并没有实质性的内容,所有的jar包都在里面,也就是说只需要管理jar包即可,不参与任务方法逻辑 2,在父工程中拥有很多的子模块,每一个子模块都代表了不用的包如(pack ...

  10. hadoop fs、hadoop dfs与hdfs dfs命令的区别

    Hadoop fs:使用面最广,可以操作任何文件系统. hadoop dfs与hdfs dfs:只能操作HDFS文件系统相关(包括与Local FS间的操作),前者已经Deprecated,一般使用后 ...