OOP: Object-Oriented Programming
OOP: Object-Oriented Programming
Chapter1对象导 本章将介绍面向对象程序设计的基本概念, 包括OOP开发方法的描述 抽象 封装 多态 继承
Chapter 1对象导言 • 本章将介绍面向对象程序设计的基本概念, 包括OOP开发方法的描述 – 抽象 – 封装 – 多态 – 继承
抽象的过程 什么是抽象? Abstraction is the process or result of generalization by reducing the information content of a concept or an observable phenomenon, typically to retain only information which is relevant for a particular purpose shttpen.wikipedia.org/wiki/abstraction>
抽象的过程 • 什么是抽象? Abstraction is the process or result of generalization by reducing the information content of a concept or an observable phenomenon, typically to retain only information which is relevant for a particular purpose
什么是抽象 Book domain concept visualization of title domain concept public class Book representation in a private String title object-oriented programming language public Chapter getchapter(int).]
什么是抽象
抽象的过程 所有的的程序设计语言都提供抽象的机制 程序通常是现实的一个模型:一个窗口,一辆战车 以复杂度的角度来看,抽象的好处在于让 人忽略无关的细节 ·人们能够解决的问题的复杂性直接与抽象 的类型和质量有关。 程序设计语言的演化过程是抽象层次不断 提高的过程
抽象的过程 • 所有的的程序设计语言都提供抽象的机制。 – 程序通常是现实的一个模型:一个窗口,一辆战车。 • 以复杂度的角度来看,抽象的好处在于让 人忽略无关的细节 • 人们能够解决的问题的复杂性直接与抽象 的类型和质量有关。 • 程序设计语言的演化过程是抽象层次不断 提高的过程
抽象的过程 ·纯面向对象程序设计语言的特性 万物皆对象 程序就是一组对象,对象之间通过发送消息互相通 知做什么 每一个对象都有它自己的由其他对象构成的存储区 每个对象都有一个类型。 个特定的类型的所有对象都能够接受相同的消息 ·纯的面向对象的程序设计语言能够保证写出面 向对象风格的程序吗?
抽象的过程 • 纯面向对象程序设计语言的特性 – 万物皆对象。 – 程序就是一组对象,对象之间通过发送消息互相通 知做什么。 – 每一个对象都有它自己的由其他对象构成的存储区。 – 每个对象都有一个类型。 – 一个特定的类型的所有对象都能够接受相同的消息。 • 纯的面向对象的程序设计语言能够保证写出面 向对象风格的程序吗?
对象有一个接口(界面) 对象的接口(界面)规定我们能像特定的 对象发出什么消息。 对象的接口由其类(cas」或类型(type)确定。 抽象的接口在现代程序设计语言中具有重 要的意义
对象有一个接口(界面) • 对象的接口(界面)规定我们能像特定的 对象发出什么消息。 • 对象的接口由其类(class)或类型(type)确定。 • 抽象的接口在现代程序设计语言中具有重 要的意义
隐藏实现的细节 在一个软件开发的过程中,一个团队中的 成员可以分为类的创建者和客户程序员。 类的创建者是是创建新数据类型的人,他 们的目标是创建类。 客户程序员的目标是去收集一个装满类的 工具箱,用于快速构建应用。 创建者所能设计的一个好的工具箱应该 暴露对于客户程序员必须的东西,而其他 的都隐藏起来
隐藏实现的细节 • 在一个软件开发的过程中,一个团队中的 成员可以分为类的创建者和客户程序员。 • 类的创建者是是创建新数据类型的人,他 们的目标是创建类。 • 客户程序员的目标是去收集一个装满类的 工具箱,用于快速构建应用。 • 创建者所能设计的一个好的工具箱应该只 暴露对于客户程序员必须的东西,而其他 的都隐藏起来
能够热咖啡的CPU
能够热咖啡的CPU
另一种热咖啡的办法
另一种热咖啡的办法