该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

面向对象程序设计

Java的核心是面向对象程序设计(OOP)。面向对象方法论与Java是密不可分的,而Java所有的程序至少在某种程度上都是面向对象的。因为OOP对Java的重要性,所以在开始编写一个哪怕是很简单的Java程序之前,理解OOP的基本原理都是非常有用的。

OOP是一种功能强大的程序设计方法。从计算机诞生以来,为适应程序不断增加的复杂程度,程序设计方法论也发生了巨大的变化。例如,在计算机最初被发明时,程序设计是通过使用计算机面板输入二进制机器指令来完成的。只要程序仅限于几百条指令,这种方法就是可以接受的。随着程序的增长,汇编语言被发明了,这样程序员就可以使用代表机器指令的符号表示法来处理大型的、复杂的程序。随着程序的继续增长,高级语言的引入为程序员提供了更多的工具,这些工具可使他们处理更复杂的程序。第一个广泛使用的语言是FORTRAN.尽管FORTRAN是人们迈出的颇具影响的第一步,但是它很难设计出清晰、简洁、易懂的程序。

20世纪60年代诞生了结构化程序设计方法,C和Pascal这样的语言鼓励使用这种方法。结构化语言的使用使得编写中等复杂程度的程序变得相当轻松。结构化语言的特点是支持孤立的子例程、局部变量、丰富的控制结构和不使用GOTO语句。尽管结构化语言是一个功能强大的工具,但是在项目很大时仍然显得有些捉襟见肘。

考虑一下:程序设计发展的每个里程碑,技术和工具都是为了使程序员处理日渐复杂的程序而创造的。在这条道路上的每一步,新的方法都吸收了过去方法的精华而不断前进。OOP出现之前,许多项目已经接近(超过)结构化方法工作的极限。于是,为了冲破这一束缚,就创建了面向对象方法。

面向对象程序设计采纳了结构化程序设计的思想精华,并且用一些新的概念与之结合。这样的结果就是一种新的程序组织方法的产生。广义上讲,一个程序可以用下面两种方法来组织:一种是围绕代码(发生了什么),一种是围绕数据(谁受了影响)。如果仅使用结构化程序设计技术,那么程序通常围绕代码来组织。这种方法可以被认为是"代码作用于数据".

面向对象程序则以另一种方式工作。它们以"数据控制访问代码" 为主要原则,围绕数据来组织程序。在面向对象语言中,需要定义数据和作用于数据的例程。这样,数据类型可以精确地定义出哪种类型的操作可以应用于该数据。

为支持面向对象程序设计的原理,所有OOP语言,包括Java在内,都有三个特性:封装(encapsulation)、多态性(polymorphism)和继承(inheritance)。下面,我们对此一一学习。(文章节选自希赛教育程序开发学院http://www.educity.cn/develop)

新手学java7编程_新手学Java 7编程:面向对象程序设计相关推荐

  1. 在线五子棋JAVA网络编程_实验五 Java网络编程及安全

    一.实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统. 二.实验步骤 1. 基于Java Socket实现安全传输 2. 基于TCP实现客户端和服务器,结对编 ...

  2. java网络编程与分布式计算_Java_net Java网络编程与分布式计算 - 下载 - 搜珍网

    Java网络编程与分布式计算/ch11/ActivatableLightBulbServer.java Java网络编程与分布式计算/ch11/active.policy Java网络编程与分布式计算 ...

  3. 20175212童皓桢 Java实验二-面向对象程序设计实验报告

    20175212童皓桢 Java实验二-面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设 ...

  4. java语言与面向对象清华大学pdf_清华大学出版社-图书详情-《Java语言与面向对象程序设计》...

    Java是一门简单的.动态的跨平台编程语言,它是面向对象编程的典范,因此更适合面向对象程序设计方法论与实践的入门教学.Java被广泛地应用到各个领域中:高伸缩高可靠的服务器端应用开发.复杂的企业生产运 ...

  5. java计算机毕业设计面向对象程序设计课程网站源码+系统+mysql数据库+lw文档

    java计算机毕业设计面向对象程序设计课程网站源码+系统+mysql数据库+lw文档 java计算机毕业设计面向对象程序设计课程网站源码+系统+mysql数据库+lw文档 本源码技术栈: 项目架构:B ...

  6. 澄海哪里学机器人编程_少年学机器人编程

    ​当今社会,唯有能者居之,说的是有技能在手的人可以立足于职场,格物斯坦表示:现代化的教育方式有很多,其中有一种机器人编程教育模式,青少年们学好了,以后中考.高考核就业比同龄人更有优势了. 人工智能.信 ...

  7. java 并发框架源码_某网Java并发编程高阶技术-高性能并发框架源码解析与实战(云盘下载)...

    第1章 课程介绍(Java并发编程进阶课程) 什么是Disruptor?它一个高性能的异步处理框架,号称"单线程每秒可处理600W个订单"的神器,本课程目标:彻底精通一个如此优秀的 ...

  8. 华东政法大学教学管理系统_华东政法大学教学管理信息系统登录入口、成绩查询网上选课查分...

    华东政法大学教学管理信息系统登录入口.学生期末考试成绩查询网上选课查分 学院教务系统入口_华东政法大学教学管理信息系统 用户名: 密码: 验证码: ... https://jwxt.ecupl.edu ...

  9. java io 网络编程_[笔面] Java IO和网络编程相关面试

    1.网络编程时的同步.异步.阻塞.非阻塞? 同步:函数调用在没得到结果之前,没有调用结果,不返回任何结果. 异步:函数调用在没得到结果之前,没有调用结果,返回状态信息. 阻塞:函数调用在没得到结果之前 ...

最新文章

  1. Linux三剑客之awk详解
  2. Apache软件基金会宣布Apache Unom成为顶级项目
  3. Apache2 之虚拟主机设置指南
  4. 分享 C++命名空间的解释
  5. linux下怎样看设备的中断号,Linux设备驱动的中断处理
  6. 开工第一天,这个超时问题把我干趴下了
  7. B-treeB+tree数据库索引原理
  8. Linux-存储服务之NFS
  9. php viewmodel,PHP日记——Lavarel常用语句之View篇
  10. 排序算法第一篇——插入排序
  11. Boost::Bind 基础
  12. python-Django 增删改和分页
  13. java api 8 中文_java8 JDK1.8 API 中文 翻译版 java帮助文档
  14. DirectX修复工具在线修复版
  15. 微信公众号网页开发,登录授权和微信支付
  16. 利用jspx解决jsp后缀被限制拿shell
  17. Windows 7可以拯救微软Netbook市场
  18. 计算机网络atm功能,计算机网络实用技术知识点之ATM原理
  19. 从女孩儿手中音乐般滑落
  20. operator new与placement new

热门文章

  1. 鲲鹏920 centos7 postgresql12 postgis2.5.4编译
  2. 嵌入式linux截屏代码,嵌入式linux截屏程序
  3. 比较创建几种线程的方式
  4. 解决Mysql5.7以上版本, 使用group by抛出Expression #1 of SELECT list is not in GROUP BY clause and contains no异常
  5. java windows7 环境变量_Windows7环境变量中,系统变量与用户变量的优先级
  6. 用conda安装虚拟的R环境
  7. 【离散数学中的数据结构与算法】十一 错排问题
  8. XMLHttpRequest() 请求 返回结果JSON 对象与JSON 字符串处理
  9. 【微信网页直接下载app】微信跳转-微信浏览器中直接唤起本地浏览器和App
  10. 《深入理解Java虚拟机》读书笔记一