




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、面向对象程序设计初步程序设计简史对象、类类的定义Java中类、属性、方法的定义类的构造器1面向对象的程序设计程序设计简史过程式程序设计结构化程序设计面向对象程序设计2面向对象编程基础面向对象编程的基本概念 对象具有的特性:物体的组成,也称为物体的属性和特点;物体的行为,是物体和其他物体的交互以及物体对内部数据的处理面向对象编程的优点(1)提高了程序的可维护性(2)可重用性高(3)保护数据对象的抽象:去掉物体中与问题不相关的部分,保留所需要的类的过程抽象成为方法3class Car int color_number; int door_number; int speed; void brake(
2、) void speedUp() ; void slowDown() 计算机中的对象的原型 现实生活中的对象4对象Everything is Object:万事万物皆对象。面向对象的编程(OOP)思想力图使对计算机语言中对事物的的描述与现实世界中该事物的本来面目尽可能的一致。Class/Object:类(class)和对象(object)是面向对象方法的核心概念。类是对一类事物描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例(instance)。 5作为对象蓝本的类类(Class)是用来描述一个对象(Object):类描述了每个对象应包括的数据类描述了每个对象的行
3、为特征6封装通过将数据和对数据的处理方法封装在对象中,对用户隐藏对象的具体实现细节,降低问题的复杂度封装是将数据和对数据的操作封装在一个抽象数据类型内部,其他对象只能通过接口才能与数据进行交互用户可以直接使用类实现需要的供能,提高了类或模块的可重用性封装在类中的私有数据和私有方法对外是不可用的,使内部信息不易被破坏,从而保护数据的完整性和安全性7类的定义类包括两方面的内容:属性:用来描述对象的数据元素称为对象的属性(也称为数据/状态)方法:对对象的属性进行的操作称为对象的方法(也称为行为/操作)8类的定义以一个“学生”实体为例,来说明类的定义学生的基本特征:学号年级姓名性别9Java类的声明语
4、法格式: class extends SuperClassimplements Interface /类的成员变量定义 /类的方法定义举例:public class Student private int age ; public void setAge(int _age) age = _age; 10modifier类的访问修饰符abstract类不能直接产生属于这个类的对象final类不能被其他任何类所继承(安全的考虑)public类不但可以被同一程序包中的其它类使用,别的程序包中的类也可以使用.friendly(缺省)类只能被本包中的其它类使用extends 类的继承Implements
5、类中将实现的接口名字11属性的声明语法格式: type =defaultValue ; 举例:public class Student private int age; public String name = “Alex Wen”;12域的定义在类的定义中,类体部分由数据和方法组成,数据部分体现为成员变量的定义,也成为域或者静态属性,域体现了类的状态,而状态的改变由类体的方法实现,域必须在类体中直接定义,不能包含在方法定义中【Specifier】type variableName【Specifier】可以是public protected private(访问权限)finial(常量) st
6、atic(静态)transient (临时变量)volatile(用在多线程程序中,需要备份)13方法的定义方法是类的动态属性,表示类具有的功能和行为,用来改变对象的状态,其他对象通过调用对象的方法获得对该对象的服务java语言是面向对象编程语言,以数据为中心,方法依附于数据的存在,方法只能在类的内部进行定义。14方法的声明语法格式: () 举例:public class Student private int age; public int getAge() return age; public void setAge(int _age) age = _age; 15Specifier可以是
7、关键字public protected private(访问权限) abstract (抽象方法,只有方法头,没有方法体)static(静态方法)returnType指的是返回值类型parameterList参数表列表,用()括起来方体的多个参数之间使用逗号隔开 方法中的变量可以是类的成员变量,通过方法调用传入参数值,也可以是方法内定义的局部变量16main()方法Java程序有两种类型,一种是java 应用程序(java application),另一种是java applet,main()是java application中的特定方法,表示java程序的执行入口在运行程序时,输入的类名必须
8、与main()方法所在的类的名字相同main()函数的修饰符必须是public static void , public static顺序可以颠倒同c语言相比,java中的main()函数必须包含在类定义中在c中,将main()方法所在的程序文件名作为执行的第一个命令行参数,而java不是17构造方法在创建类对象时,初始化类的实例对象构造方法必须与类名相同构造方法没有返回值,因此方法头不能用返回类型修饰用户不能直接调用构造方法构造方法在用户创建对象时,由系统自动调用执行构造方法的作用是对类对象进行初始化构造方法的修饰符不能是abstract static final,只能是public pro
9、tected private其中之一18类中也可以不用定义构造方法,如果没有构造方法,系统将为该类默认定义一个空构造方法一个类中可以有多个同名的构造方法,但是要具有不同的参数19构造器(Constructor)的声明构造器的声明语法: ( )构建器名称必须和类名称一致一个类可以有多个构建器,但这些构造器的参数列表必须不同例如:public class Dog private int weight;public Dog(int w) weight = w;203 对象的定义和使用类是 一种引用数据类型,用户首先要定义他,定义的目的是使用,要使用类,方式就是定义对象,通过访问对象的静态属性或者动态
10、属性,来实现程序的功能Java 语言中对象的使用步骤是,首先创建对向,然后访问对象的数据和调用对象的方法,多个对象之间通过消息传递的方式,共同完成系统要求的功能,对象使用完毕后,关闭对象,释放对象所占用的各种资源21对象的创建声明对象声明的类可以是java类库中的系统类,如String DataInputStream等,也可以是用户自定义的类实例化对象实例化关键字objectanme=new ClassName(ParameterValue);myPerson=new person();myPerson=new person(”lily”,0,3500,6);22对象的创建和使用在Java中,
11、使用new 关键字来创建一个对象(实例化一个类),new后面跟上一个构造器每个类都至少有一个构造器,如果没有定义构造器,则系统将自动提供一个默认的不带任何参数的构造器,如果类没有定义构造器,可以用这个默认的构造起来生成一个对象使用“.”操作符来访问对象的成员,包括对象方法和对象属性.23小结面向对象的分析和设计简介类和对象构造器对象的创建和使用24信息的隐藏隐藏:指的是对象的一种保护机制,使得它的属性或方法不被外部的程序直接访问使用者对类内部定义的数据(对象的成员变量)的直接操作会导致数据的错误、混乱或安全性问题。public class Student public int age;publ
12、ic class StudentTest public static void main(String args)Student s = new Student();/合“法”但不合理的设置s.age = 1000; 25信息的封装封装指的是将对象的状态信息(属性)和行为(方法)捆绑为一个逻辑单元的机制。Java中通过将数据封装、声明为私有的(private),再提供一个或多个公开的(public)方法实现对该属性的操作,以实现下述目的:隐藏一个类的实现细节;防止对封装数据的未经授权的访问。使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作;有利于保证数据
13、的完整性;便于修改,增强代码的可维护性;26Java源文件的基本结构源文件的基本语法:+例如:package school;import java.util.List;import java.io.*;public class Student private List Teacher;public void printSheet(Writer output) 27package语句package语句的语法为:package . * ;举例:package .tsinghua.college;public class Student 28package语句打成包后的类的编译和执行:如
14、果在程序Student.java中已定义了包.tsinghua.college,编译时采用如下方式:javac Student.java 则编译器会在当前目录下生成Student.class文件,如果程序不在cnedutsinghuacollege目录下,则必须再在适合位置(destpath目录)手动创建这些子目录,将Test.class复制到该目录下,这样,这个类才可以被使用。javac -d destpath Student.java则编译器会自动在destpath目录下建立子目录cnedutsinghuacollege,并将生成的.class文件都放到destpath cne
15、dutsinghuacollege下。29import语句在需要使用不同的包中的类时,使用import语句来引入所需要的类import 语句的语法为:import .;import .*;30import语句编译器如何寻找import语句中指定的包或者类?在CLASSPATH指定的路径下寻找默认情况下,系统会自动引入java.lang包中的所有类31常用的包java.lang-包含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能。java.awt-包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。java.applet-包含applet运行所需的一些
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年物业管理服务合作协议书
- 眼科护士治疗操作规范与技能要点
- 安全培训讲师聘用合同及安全技能提升服务
- 海外紧急医疗救援与专业翻译协作协议
- 小红书品牌合作人资质审核及服务质量监管合同
- 美容护肤机构投资与品牌建设合同
- 跨区域品牌专柜委托经营管理合作协议
- 智能早教设备采购及教师数字化教学能力培养合同
- 旅游意外保险理赔处理协议
- 荷塘莲藕种植与农产品品牌推广委托管理协议
- 数据库应用技术-第三次形考作业(第10章~第11章)-国开-参考资料
- MOOC 颈肩腰腿痛中医防治-暨南大学 中国大学慕课答案
- 村级组织权力清单、责任清单和负面清单x
- DB33∕T 715-2018 公路泡沫沥青冷再生路面设计与施工技术规范
- 彩色简约鱼骨图PPT图表模板
- 高一化学第二学期期末考试试题
- PID控制经典PPT
- 油田注入水细菌分析方法+绝迹稀释法
- 医师处方权申请
- 简易充电器课程设计
- 部编版语文三年级下册课外阅读
评论
0/150
提交评论