新手学java7编程_新手学Java 7编程:面向对象程序设计
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
面向对象程序设计
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编程:面向对象程序设计相关推荐
- 在线五子棋JAVA网络编程_实验五 Java网络编程及安全
一.实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统. 二.实验步骤 1. 基于Java Socket实现安全传输 2. 基于TCP实现客户端和服务器,结对编 ...
- java网络编程与分布式计算_Java_net Java网络编程与分布式计算 - 下载 - 搜珍网
Java网络编程与分布式计算/ch11/ActivatableLightBulbServer.java Java网络编程与分布式计算/ch11/active.policy Java网络编程与分布式计算 ...
- 20175212童皓桢 Java实验二-面向对象程序设计实验报告
20175212童皓桢 Java实验二-面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设 ...
- java语言与面向对象清华大学pdf_清华大学出版社-图书详情-《Java语言与面向对象程序设计》...
Java是一门简单的.动态的跨平台编程语言,它是面向对象编程的典范,因此更适合面向对象程序设计方法论与实践的入门教学.Java被广泛地应用到各个领域中:高伸缩高可靠的服务器端应用开发.复杂的企业生产运 ...
- java计算机毕业设计面向对象程序设计课程网站源码+系统+mysql数据库+lw文档
java计算机毕业设计面向对象程序设计课程网站源码+系统+mysql数据库+lw文档 java计算机毕业设计面向对象程序设计课程网站源码+系统+mysql数据库+lw文档 本源码技术栈: 项目架构:B ...
- 澄海哪里学机器人编程_少年学机器人编程
当今社会,唯有能者居之,说的是有技能在手的人可以立足于职场,格物斯坦表示:现代化的教育方式有很多,其中有一种机器人编程教育模式,青少年们学好了,以后中考.高考核就业比同龄人更有优势了. 人工智能.信 ...
- java 并发框架源码_某网Java并发编程高阶技术-高性能并发框架源码解析与实战(云盘下载)...
第1章 课程介绍(Java并发编程进阶课程) 什么是Disruptor?它一个高性能的异步处理框架,号称"单线程每秒可处理600W个订单"的神器,本课程目标:彻底精通一个如此优秀的 ...
- 华东政法大学教学管理系统_华东政法大学教学管理信息系统登录入口、成绩查询网上选课查分...
华东政法大学教学管理信息系统登录入口.学生期末考试成绩查询网上选课查分 学院教务系统入口_华东政法大学教学管理信息系统 用户名: 密码: 验证码: ... https://jwxt.ecupl.edu ...
- java io 网络编程_[笔面] Java IO和网络编程相关面试
1.网络编程时的同步.异步.阻塞.非阻塞? 同步:函数调用在没得到结果之前,没有调用结果,不返回任何结果. 异步:函数调用在没得到结果之前,没有调用结果,返回状态信息. 阻塞:函数调用在没得到结果之前 ...
最新文章
- Linux三剑客之awk详解
- Apache软件基金会宣布Apache Unom成为顶级项目
- Apache2 之虚拟主机设置指南
- 分享 C++命名空间的解释
- linux下怎样看设备的中断号,Linux设备驱动的中断处理
- 开工第一天,这个超时问题把我干趴下了
- B-treeB+tree数据库索引原理
- Linux-存储服务之NFS
- php viewmodel,PHP日记——Lavarel常用语句之View篇
- 排序算法第一篇——插入排序
- Boost::Bind 基础
- python-Django 增删改和分页
- java api 8 中文_java8 JDK1.8 API 中文 翻译版 java帮助文档
- DirectX修复工具在线修复版
- 微信公众号网页开发,登录授权和微信支付
- 利用jspx解决jsp后缀被限制拿shell
- Windows 7可以拯救微软Netbook市场
- 计算机网络atm功能,计算机网络实用技术知识点之ATM原理
- 从女孩儿手中音乐般滑落
- operator new与placement new
热门文章
- 鲲鹏920 centos7 postgresql12 postgis2.5.4编译
- 嵌入式linux截屏代码,嵌入式linux截屏程序
- 比较创建几种线程的方式
- 解决Mysql5.7以上版本, 使用group by抛出Expression #1 of SELECT list is not in GROUP BY clause and contains no异常
- java windows7 环境变量_Windows7环境变量中,系统变量与用户变量的优先级
- 用conda安装虚拟的R环境
- 【离散数学中的数据结构与算法】十一 错排问题
- XMLHttpRequest() 请求 返回结果JSON 对象与JSON 字符串处理
- 【微信网页直接下载app】微信跳转-微信浏览器中直接唤起本地浏览器和App
- 《深入理解Java虚拟机》读书笔记一