`
mmdev
  • 浏览: 12937525 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

【Java基础知识 - 03】什么是面向对象编程

 
阅读更多

Alan Kay曾经总结了第一个成功的面向对象语言、同时也是Java所基于的语言之一的Smalltalk的五个基本特性,这些特性表现了一种纯粹的面向对象程序设计方式:

1) 万物皆为对象。将对象视为奇特的变量,它可以存储数据,除此之外,你还可以要求它在自身上执行操作。理论上讲,你可以抽取待求解问题的任何概念化构件(狗、建筑物、服务等),将其表示为程序中的对象。

2) 程序是对象的集合,它们通过发送消息来告知彼此所要做的。要想请求一个对象,就必须对该对象发送一条消息。更具体地说,可以把消息想像为对某个特定对象的方法的调用请求。

3) 每个对象都有自己的由其他对象所构成的存储。换句话说,可以通过创建包含现有对象的包的方式来创建新类型的对象。因此,可以在程序中构建复杂的体系,同时将其复杂性隐藏在对象的简单性背后。

4) 每个对象都拥有其类型。按照通用的说法,"每个对象都是某个类(class)的一个实例(instance)",这里"类"就是"类型"的同义词。每个类最重要的区别于其他类的特性就是"可以发送什么样的消息给它"。

5) 某一特定类型的所有对象都可以接收同样的消息。这是一句意味深长的表述,你在稍后便会看到。因为"圆形"类型的对象同时也是"几何形"类型的对象,所以一个"圆形"对象必定能够接受发送给"几何形"对象的消息。这意味着可以编写与"几何形"交互并自动处理所有与几何形性质相关的事物的代码。这种可替代性(substitutability)是OOP中最强有力的概念之一。

Booch 对对象提出了一个更加简洁的描述:对象具有状态、行为和标识。这意味着每一个对象都可以拥有内部数据(它们给出了该对象的状态)和方法(它们产生行为),并且每一个对象都可以唯一地与其他对象区分开来,具体说来,就是每一个对象在内存中都有一个唯一的地址。

分享到:
评论

相关推荐

    java面向对象编程源码

    其最大特色是以六条主线贯穿全书:面向对象编程思想、Java语言的语法、Java虚拟机执行Java程序的原理、在实际项目中的运用、设计模式和性能优化技巧。同时,本书还贯穿了Sun公司的SCJP(Sun Cer......

    Java基础知识培训 Java基础教程-Java基础知识全套PPT课件 共9个章节.rar

    Java基础[03-面向对象].pdf Java基础[04-继承上].pdf Java基础[04-继承下].pdf Java基础[05-多线程].pdf Java基础[06-集合].pdf Java基础[07-IO].pdf Java基础[08-GUI].pdf Java基础[09-网络编程].pdf

    面向对象编程(Java).pdf

    包含面向对象编程所有基础知识和实战代码

    Java零基础-面向对象和面向过程.md

    内容概要: 本文档详细介绍了Java编程中的面向对象编程(OOP)和面向过程编程(Procedural Programming)两种主要编程范式。通过示例代码和详细解释,帮助读者理解这两种编程方式的概念、特点和用法,并对比它们之间...

    孙卫琴java面向对象编程(答案及源码)

    本书内容包括:面向对象的编程思想、Java语言的基础知识、异常处理、类与对象的生命周期、多线程、Java集合、泛型、Annotation标注、输入/输出和GUI编程,以及JDK8引入的如虎添翼的新特征,比如支持函数式编程的...

    JAVA面向对象编程(孙卫琴).z02

    其最大特色是以六条主线贯穿全书:面向对象编程思想、Java语言的语法、Java虚拟机执行Java程序的原理、在实际项目中的运用、设计模式和性能优化技巧。同时,本书还贯穿了Sun公司的SCJP(Sun Certified Java ...

    Java SE完整版精品优质课件 自学入门必看的优秀Java基础知识培训教案 第03章_面向对象编程(共100页).pptx

    Java SE完整版精品优质课件 自学入门必看的优秀Java基础知识培训教案 特别适合新入门自学的新手同学,也适合老手回顾学习,巩固知识 第1章 Java语言概述 第2章 基本语法 第3章 面向对象编程 第4章 高级类特性1 第5...

    Java 面向对象编程.pdf

    《Java 面向对象编程》内容由浅入深,紧密结合实际,利用大量典型实例,详细讲解Java面向对象的编程思想、编程语法和设计模式,介绍常见Java类库的用法,总结优化Java编程的各种宝贵经验,深入阐述Java虚拟机执行...

    孙卫琴《Java面向对象编程》配套PPT及书中源码

    本书通俗易懂,并辅以大量的实例,使没有程序设计语言基础的读者,也可以轻松地掌握Java面向对象编程,为程序设计打好基础。 读者只要掌握一定的计算机基础知识,即可通过自学本书,轻松掌握Java程序设计语言及程序...

    Java面向对象知识点梳理(思维导图)

    有一定Java基础的开发者可以通过导图巩固和扩展他们的知识,进一步提升面向对象编程的能力。 使用场景以及目标: 这个导图可以作为学习和复习Java面向对象编程的辅助工具。它可以用于自学、课堂教学、培训班等场景...

    java基础之面向对象编程

    此文件是本人在初学java时的视频笔记,每章的内容在本人的博客中都有相应的文章对应。主要是java面向对象的基础知识,以后会上传java的应用部分的内容。程序员是一个很酷的职业,希望向大家学习,多沟通交流!

    Java自学视频教程-JavaSE基础-基础加强课-03、面向对象知识复习:封装、JavaBean.mp4

    Java具有类似于C++语言的“形式和感觉”,但它要比C++语言更易于使用,而且在编程时彻底采用了一种“以对象为导向”的方式。 使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的...

    Java SE完整版精品优质课件 自学入门必看的优秀Java基础知识培训教案 第03章_面向对象编程(共100页).rar

    Java SE完整版精品优质课件 自学入门必看的优秀Java基础知识培训教案 第03章_面向对象编程(共100页).rar

    javascript面向对象编程

    面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...

    JAVA面向对象编程(孙卫琴).z05

    其最大特色是以六条主线贯穿全书:面向对象编程思想、Java语言的语法、Java虚拟机执行Java程序的原理、在实际项目中的运用、设计模式和性能优化技巧。同时,本书还贯穿了Sun公司的SCJP(Sun Certified Java ...

    JAVA面向对象编程(孙卫琴).part05

    其最大特色是以六条主线贯穿全书:面向对象编程思想、Java语言的语法、Java虚拟机执行Java程序的原理、在实际项目中的运用、设计模式和性能优化技巧。同时,本书还贯穿了Sun公司的SCJP(Sun Certified Java ...

    Java面试题严庭润的

    - 什么是面向对象编程? - 什么是封装?如何在Java中实现封装? - 什么是继承?如何在Java中实现继承? - 什么是多态?如何在Java中实现多态? ## 3. 异常处理 - 什么是Java异常?有哪些常见的Java异常? - try-...

    Java面向对象编程.zip

    其最大特色是以六条主线贯穿全书:面向对象编程思想、java语言的语法、java虚拟机执行java程序的原理、在实际项目中的运用、设计模式和性能优化技巧。同时,本书还贯穿了sun公司的scjp(sun certified java ...

    JAVA面向对象编程(孙卫琴).z03

    其最大特色是以六条主线贯穿全书:面向对象编程思想、Java语言的语法、Java虚拟机执行Java程序的原理、在实际项目中的运用、设计模式和性能优化技巧。同时,本书还贯穿了Sun公司的SCJP(Sun Certified Java ...

    Java面向对象编程.part1.rar

    《Java 面向对象编程》[1] 内容由浅入深,紧密结合实际,利用大量典型实例,详细讲解Java面向对象的编程思想、编程语法和设计模式,介绍常见Java类库的用法,总结Java编程的各种经验,深入阐述Java虚拟机执行程序的...

Global site tag (gtag.js) - Google Analytics