java程序语言及设计第3章

java程序语言及设计第3章

ID:36206400

大小:647.00 KB

页数:155页

时间:2019-05-07

java程序语言及设计第3章_第1页
java程序语言及设计第3章_第2页
java程序语言及设计第3章_第3页
java程序语言及设计第3章_第4页
java程序语言及设计第3章_第5页
资源描述:

《java程序语言及设计第3章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java语言程序设计1第三章面向对象特征基本概念类的定义对象类的继承和多态接口和包常用工具类23.1基本概念什么是编程语言?人和计算机进行交流的工具和手段编程语言的发展机器语言:0101001汇编语言:mov,push,add,call第三代语言:高级语言,以C语言为代表,过程式编程语言(ProceduralProgrammingLanguage)第四代语言:非过程化/面向对象的编程语言语言的发展:抽象的过程3面向对象(ObjectOriented-OO)面向对象编程(ObjectOriented

2、Programming-OOP)面向对象是一种软件开发的方法,"面向对象的分析与设计"(OOA&OOD—研究生课程)第一个面向对象的语言:Simula-67第一个成功的面向对象编程语言:SmalltalkC++,JAVA,C#,PERL等用客观世界中描述事物的方法来描述程序中要解决的问题万事万物都是对象程序便是成堆的对象,彼此通过消息的传递,请求其他对象进行工作3.1基本概念4五个基本概念对象类封装性继承性多态性3.1基本概念5对象(object)everythingisanobject现实世界的

3、对象:桌子、书、自行车、电视、狗、文件、表格、按钮、窗口对象包含两个特性状态:指对象本身的信息(内部信息/内部变量)行为:实现对信息的访问/对象的操作标志:代表对象的标识符山地车的状态(两个车轮、一些齿轮、速度、挡数),行为(刹车、加速、减速和换挡)书包含很多信息,拥有访问所包含信息的方法,一页一页的看,通过目录找到感兴趣的内容3.1基本概念6对象(object)状态变量(variables)行为方法(method)对象就是变量和相关方法的软件集合一个对象可以由其他对象组合而成,窗口(按钮,菜

4、单条,文本框,状态栏等)程序就是对象的集合,对象之间相互交互和通信完成任务3.1基本概念7类(class)亚里士多德:theclassoffishesandtheclassofbirds现实世界中,存在很多同类的对象,很多桌子、书、自行车一种原型,一种抽象,一种共性,一个模板Everyobjecthasatype实例(instance),某类对象的一个特定实体,类是对象的一个抽象表格(类)填入不同的个人信息不同的对象3.1基本概念8封装性对象本身的数据得到保护/隐藏其他对象仅仅需要知道对该对象的

5、访问方法(接口/interface)即可好处模块化--每个对象的源文件可以是相互独立的,可以被不同的程序调用,每个对象是一块积木,可以搭建不同的形状信息隐藏--通常定义一个公共接口/方法实现对对象的访问,可以调整对象的私有信息和方法,而不会对其他调用它的对象产生影响可重用性黑盒子电脑的DIY喷墨打印机,硒鼓坏/彩色硒鼓3.1基本概念9继承性为什么会有继承?建立一个类后,发现另一个新的类有相同的特性,两个选择:重新定义一个新的类;在已有类的基础上,修改(加加/减减)父类和子类,子类继承(拥有)父类所

6、有的数据和方法,同时子类可以有新的数据和方法,"青出于蓝,而胜于蓝"树型结构(层次化结构)根(基类)3.1基本概念10继承性运输工具航空运输工具陆地运输工具水上运输工具人力驱动引擎驱动二轮四轮客运货运3.1基本概念11继承性多重继承类A类B类C类D类F类G一个类拥有多个父类产生二义性,例类C和类D都有一个同名的方法,类G?Java中仅仅支持单一继承,同时Java采用Interface(接口)实现多重继承而避免父类二义性3.1基本概念12多态性表现在继承中方法的重写子类从父类继承(extends

7、扩展)而来多个子类同属一个父类,所有子类有相同的父类继承父类的方法在不同的子类中有不同的表现形式表现在用一个类中方法的重载3.1基本概念13多态性多态性在继承中的表现3.1基本概念14多态性classSquareextendsShape{voiddraw(){System.out.println("Square.draw()");}voiderase(){System.out.println("Square.erase()");}}classTriangleextendsShape{voiddr

8、aw(){System.out.println("Triangle.draw()");}voiderase(){System.out.println("Triangle.erase()");}}classShape{voiddraw(){}voiderase(){}}classCircleextendsShape{voiddraw(){System.out.println("Circle.draw()");}voiderase(){System.out.println("Circl

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。