文档详情

Java 2实用教程课件(第3版第4章)1.ppt

发布:2017-09-22约1.53万字共72页下载文档
文本预览下载声明
4.1.2 程序设计思想 面向过程的程序设计方法 主要思想是功能分解并逐步求精。数据与程序分开存储,过程或函数定义为一个接一个执行的一组指令。 面向对象的程序设计方法 从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式。本质是把数据和处理数据的过程当成一个整体——对象。 面向对象更加强调运用人类在日常的思维逻辑中经常采用的思想方法与原则,如抽象、分类、继承、聚合、多态等。 对象和类的概念 对象用计算机语言对问题域中事物的描述,对象通过“属性(attribute)”和“方法(method)”来分别对应事物所具有的静态属性和动态属性。 类是用于描述同一类型的对象的一个抽象的概念 ,类中定义了这一类对象所具有的静态和动态属性。 类可以看成一类对象的模板,对象可以看成该类的一个具体实例。既类的实例化结果就是对象,而对一类对象的抽象就是类。 客观世界是由对象和对象之间的联系组成的。 关联关系 继承关系---一般和特殊 聚合关系---整体和部分 实现关系 多态 消息 对象之间进行交互作用和通讯是利用消息的。 消息就是向对象发出的服务请求。 它应该包含下述信息: 提供服务的对象标识(被寻址消息的对象); 服务标识(要执行方法的名字); 输入信息(这个方法需要的所有参数); 回答信息(方法的返回值)。 注:服务通常被称为方法或函数。 Java与面向对象 对象是java程序的核心,在java程序中”万事万物皆对象“。 对象可以看成是静态属性(成员变量)和动态属性(方法)的封装体。 类是用来创建同一类型的对象的”模板“,在一个类中定义了该类对象所应具有的成员变量以及方法。 J2SDK提供了很多类供编程人员使用,编程人员也可定义自己的类。 Java与面向对象 面向对象的编程——一组对象互相配合通过沟通完成特定功能 所有的paradigm都是对现实问题的抽象 汇编是对机器语言的抽象 面向过程的语言是对汇编的抽象。 对象更加符合对现实的抽象 对象都有对外服务的接口 通过继承可以复用 对象隐藏内部服务的实现 通过聚合可以复用 面向对象更加容易达到如下几点: Reusable、Extensibility、维护和替换更加方便、…… 组件——比对象更高的层次上的抽象(二进制级别) EJB、Web Service、CORBA、COM、…… package import 总结 如果想将一个类放入包中,在这个类源文件第一句话写package 必须保证该类的class文件位于正确目录下。 另外的类想访问的话: 写全名 Import引入(包名.* 或包名.类名) 访问位于同一个包中的类不需要引入 必须class文件的最上层包的父目录位于classpath下。 执行一个类需要写全名。 jar -cvf XX.jar *.* class T{ private int i=0; Int j=0; protected int k=0; public int m=0; public void f(){ i=9; } } class TT{ public void f(){ T t=new T(); System.out.println(t.i); } } 5.继承中的构造方法 子类的构造过程中必须调用其父类的构造方法。 子类可以在自己的构造方法中使用super()调用父类的构造方法。 使用this()调用本类的另外的构造方法。 如果调用super(),必须写在子类构造方法的第一行。 如果子类的构造方法中没有显示地调用父类的构造方法,则系统默认调用父类无参的构造方法。 如果子类的构造方法中既没有显示地调用父类的构造方法,父类中又没有无参的构造方法,则编译出错。 class SuperClass{ private int n; SuperClass(){ System.out.println(“SuperClass()”);} SuperClass(int n){ System.out.println(“SuperClass(“+n+”)”); this.n=n; } } Class SubClass extends SuperClass{ private int n; SubClass(int n){ System.out.println(“SubClass(“+n+”)”); this.n=n; } SubClass(){ super(300); System.out.println(“SubClass()”); this.n=n;} } 练习:分析输出结果 例1: class 类人猿 { private int n=100;
显示全部
相似文档