项目学生基本信息管理.ppt
《项目学生基本信息管理.ppt》由会员分享,可在线阅读,更多相关《项目学生基本信息管理.ppt(89页珍藏版)》请在三一办公上搜索。
1、项目4 学生基本信息管理,-类和对象,Company Logo,主要内容,学习目标 重点、难点,Company Logo,回顾,Java 具有8种基本数据类型boolean、char、byte、int、short、long、float 及 doubleJava 中的运算符可分为四类:算术运算符、位运算符、关系运算符、逻辑运算符数据的输入输出Java 支持下列控制结构顺序、选择、循环、跳转数组可用来将同一类型的数据存储在连续的内存位置。声明、初始化,引用,常见应用(数组长度、最值等)main方法参数的使用字符串的使用StringStringBuffer/StringBuilder,本章背景,本章
2、将学习面向对象的基本概念和特征,面向对象设计方法的基本思想。如何自定义类,创建和使用对然后实现方法重载学习目标掌握面向对象程序技术的基本概念掌握类与现实世界的关系,并能根据需求正确对其进行抽象通过自定义类的设计,掌握类成员变量,成员方法定义和使用,掌握构造函数的定义和使用,掌握方法重载,任务学习,Company Logo,任务描述任务一:理解类和对象的概念及其关系,会分析和设计银行帐户对象和储户对象,任务学习,Company Logo,支撑知识介绍面向对象的基本概念类和对象的概念和关系封装性、多态性、继承性面向对象的分析和设计方法,程序语言的发展人类更容易理解,面向机器(机器语言、汇编语言)可
3、读性、可维护性、移植性差;效率高面向过程核心:算法+数据结构缺陷:随应用程序的规模扩大,操作与数据分离所带来的维护工作量越来越大不适用于GUI界面、事件驱动编程面向对象人类先进的模式应用到计算机模型。能更直接的描述客观存在的事物。从现实世界中客观存在的事物出发来设计,并在软件开发中运用人类的自然思维方式。,面向对象,对象世界上所有的事物都可以称为对象。包括有形(一台电视机等)和无形(帐户、一项记录等)对象两大要素属性(对象静态特征,可以用某些数据描述)操作(对象动态特征、又称方法,具有的行为或功能)如电视属性有:品牌、尺寸、重量等操作有:收视、选台、音量调节等按照子类与父类的关系,把若干个对象
4、类组成一个层次结构的系统对象彼此之间仅能通过传递消息互相联系。,Company Logo,Company Logo,课堂思考,Company Logo,思考:一只大雁要从北方飞往南方,第一步:抽象出对象-大雁第二步:识别该对象的属性-一双翅膀,黑色的羽毛第三步:识别该对象的行为-飞行、觅食等第四步:封装属性和行为来描述大雁这类动物。,总结:类是封装对象属性和行为的载体 对象是类的一个实例,面向对象,类对具有相同基本特征对象的一种抽象,是同一类事物的统称类也是Java中最重要的数据类型,自定义类型由类定义生成的数据称为这个类的实例或对象。类和对象关系类是一个抽象的概念对象是一个具体的类的实例,C
5、ompany Logo,一个类可以生成多个不同的对象,具有不同的属性值,例子,Company Logo,面向对象,Company Logo,例如:定义一个类圆class Circle/属性 String color;/颜色 int length;/半径/方法 void expand()方法体/方法:放大 void reduce()方法体/方法:缩小,对象具有属性和行为。与之相对应,类在定义时,需要声明类的变量(数据)和方法。,Circle c1=new Circle()/生成类Circle的实例c1,类,属性-成员变量属性称为数据成员,或者成员变量描述类中所定义的数据,对客观世界实体所具有性质
6、的抽象类的每个实例都有自己特有的属性值,Company Logo,例如Circle类中所定义的代表半径、颜色等的数据成员,就是Circle类的属性,类,方法在类中实现的操作,它是功能实现的基本单位。方法描述了对象执行操作的具体实现算法,Company Logo,一个方法有以下几个部分构成:方法名输入参数(可空)返回值(可空)执行代码段,为了使Circle类的对象可以在屏幕上显示自己,可以定义方法show()int show(int i,float j)/返回值 方法名 输入参数/实现代码,类,消息软件对象通过相互间传递消息来相互作用和通信,一个消息由三部分组成:接受消息的对象 接收对象要采取的
7、方法 方法需要的参数,Company Logo,任务学习,Company Logo,完成任务步骤分析了解对问题的描述建立使用实例,分析整个应用实现的场景,ATM必须允许用户插入银行卡,选择合适的帐户,然后存钱、取钱、查询余额;一个银行帐户必须记录帐户的ID和当前余额;支票帐户和现金帐户必须支持存钱和取钱。,“取钱“是ATM的一个应用实例(存钱、查询余额、验卡、取钱-数目超过余额等也是),步骤有:选择银行列出的帐户类型输入取钱的数额(不超过余额)取出钱取出卡,任务学习,Company Logo,完成任务步骤分析提取候选类和方法,(1)要发现对象以及对象的属性:在以上使用实例中寻找名词,如帐户(2
8、)要发现方法:在使用实例中寻找动词,如查询(3)确定哪些是对象,哪些是对象的属性:一般,属性是一些简单值,如余额。而对象是由一些简单值组合而成,如帐户包括户名,余额,开户时间等。(4)把找到的方法分配对合适的对象,使其成为对象的成员方法。,一些属性和对象:银行、帐户、余额、银行卡等找到的方法包括:取钱、选择帐户、查询余额、取卡等,任务学习,Company Logo,任务解决确定银行帐户对象和储户对象:,绿色:属性紫色:方法,这两个对象之间存在的关系为:一个储户可以有多个银行帐户,一个帐户只能属于一个储户。,面向对象特性,三个主要特性继承性封装性多态性,Company Logo,继承性:指一个新
9、的类继承原有类的基本特征,并可增加新的特性继承具有传递性,Java是单继承,封装是一种信息隐蔽技术,封装的目的隐藏类的实现细节迫使用户通过接口去访问数据增强代码的可维护性封装的实现Java通过访问控制权限来实现封装,访问权限有4种:public,protected,缺省,private,多态性是指一个名称对应有多种不同的功能,提供灵活性类的多态性主要通过方法的重载,覆盖和接口来实现,面向对象,课堂思考小王本来体重70kg,经过减肥,体重降到45kg,试从这个问题领域中识别对象、类、属性、状态和状态的变化。1)类:人。2)对象:小王。3)属性:体重。4)状态:70kg。5)状态的变化:小王的减肥
10、行为导致体重下降,Company Logo,任务学习,Company Logo,总结介绍面向对象基础知识类和对象面向对象分析和设计的方法三个主要特性:继承性封装性多态性,任务学习,Company Logo,任务描述任务二:定义平面上任意两个点p1,p2,并计算p1到原点的距离,以及点p1到p2的距离,任务学习,Company Logo,支撑知识介绍类的定义属性的定义方法的定义方法定义方法调用方法重载构造方法主方法访问控制修饰符其他修饰符,类的定义,类类是封装对象的属性和行为的载体Java中最重要最基本的数据类型,由两种基本成员构成:数据(属性)可以是基本数据类型也可以是某个类的实例方法 表示对
11、象具有的行为,与函数类似,只能在类内定义,Company Logo,ccit,27,1 Java 类的定义-语法规范,类的修饰符 访问控制权限修饰符(public、缺省、private和protected不能)抽象和最终类修饰符(final,abstract,static不能用)类修饰符为可选项extends继承父类implements 实现接口,类是组成Java程序的基本要素。它封装了一类对象的属性和方法,是这一类对象的原型。,类体,1 Java 类的定义,类名必须符合Java标识符的命名规则以字母、字符”_”或”$”开头不能使用与Java关键字相同的类名类名通常以大写字母开头,如果类名由多
12、个单词组成,则每一个单词的开头字母要大写类名应尽量有意义,便于程序阅读者的理解和程序的维护,养成良好的编程习惯。,2、类的修饰符,访问控制修饰符public公开类:类成员可以被本包和不同包的任何类、对象所用;反之非公开类通常为同一个包中其它非公开类或公开类服务。缺省只能被同一个 包中的其他类、对象引用或继承。protected不能用private不能用抽象类修饰符abstract 后面学最终类修饰符final 后面学,注意:abstract和final是矛盾的,不能同时选择,要么都不用,要么只能选一个。,3、成员变量定义-语法规范,变量修饰字 变量数据类型 变量名1,变量名2=变量初值;,pu
13、blic|protected|缺省|private static final transient volatile,成员变量的类型可以是基本类型也可以是引用类型(类,接口,数组)在一个类中的成员变量唯一变量必须先定义,后使用可以设置初值,如果没有设置,则会有默认值整型(byte、int、short、long)0字符型(char)u0000布尔型(boolean)false实型(float double)0.0引用类型(数组、类、接口)null,3、成员变量定义,例如:public class Date1/类声明 int year,month,day;/成员变量声明 或者:byte b;doub
14、le d1=0.23,d2=56.7;boolean mycom=true;char mc=b;String s“abc”;,成员变量定义-修饰符,访问控制修饰符有4种 public、protected、缺省、private,用来规定变量的访问权限static 指明该变量是一个类变量(静态变量);若无,则为实例变量(属于对象)final 指该变量是一个常量,不可改变,ccit,33,4、访问修饰符的控制范围,:可访问,class A public int x;/任何类的对象都能对它读写完全暴露给使用者,除非特殊,一般不定义 protected int y;/同一个包中任何类或不同包中子类方法能
15、进行读写 private int z;/只有本类自身成员才能访问 int w;/同一个包中任何类对象可以进行读写 void setX(int a)z=a;/可以,在A类内部public class TestA public static void main(String args)A pt=new A();/通过new运算符生成一个A类对象 pt.x=10;/因为是public,可对A类的对象中x成员进行读写 pt.y=20;/如果在同一个包,是可以的。否则不可以 pt.z=30;/不行,只有在A类内部才可以访问,外部无权,假设两个类定义在同一个包中,Class Point static in
16、t x;/静态(类)变量 int y;/实例变量Public class TeatPoint public static void main(String args)Point.x=10;/可以。X一直存在,随时可用,与有无对象无关 Point.y=10;/不可以,是实例变量,必须先创建对象后才能使用 Point p1=new Point(),p2=new Point(),p3=new Point();p1.y=10;/可以。P1对象内部含有自己的变量 p2.y=20;/可以。P1对象内部含有自己的变量 p3.y=30;/可以。P1对象内部含有自己的变量 p1.x=20;/可以,所有对象共享一
17、个类成员变量x,它一直存在,随时可用,示例:控制范围-1,同一个类内可以访问任何访问权限的变量。,package test;public class Demo2void test()Demo1 dm1=new Demo1();dm1.priInt=1;/错误 dm1.proInt=1;dm1.defInt=1;dm1.pubInt=1;,在同一个包下,但Demo2对Demo1中的private成员没有访问权限。,package test;public class Demo1 private int priInt;protected int proInt;int defInt;public in
18、t pubInt;void test()priInt=1;proInt=1;defInt=1;pubInt=1;,package test.t1;import test.Demo1;public class Demo4void test()Demo1 dm1=new Demo1();dm1.priInt=1;/错误 dm1.proInt=1;/错误 dm1.defInt=1;/错误 dm1.pubInt=1;,不同包下,只能访问Demo1中的public成员。,5、方法定义-语法规范,方法修饰字 返回类型 方法名称(参数1,参数2,)throws exceptionList(statement
19、s;)/方法体:方法的内容,public|protected|缺省|private static final|abstract native synchronized,返回类型可以是任意的Java数据类型当一个方法不需要返回值时,返回类型为void。参数的类型可以是简单数据类型也可以是引用数据类型(数组、类或接口)参数传递方式是值传递。方法体对方法的实现包括局部变量的声明以及所有合法的Java指令。局部变量的作用域只在该方法内部。,举例:方法定义,举例:final void move(int dx,int dy)throws IOException x+=dx;y+=dy;举例:class T
20、est int a,b;void change(Test obj)obj.a=50;obj.b=40;/可以在函数中改变对象状态 void setTest(int x,int y)a=x;b=y;,6、方法定义-修饰符,方法命名符合标识符规则Java中允许同名方法存在,但方法的参数列表应不同(方法的重载)访问控制权限public、pretected、缺省、private含义同成员变量其他修饰符static类方法(静态方法),可直接用类名来调用,随时可用。abstract抽象方法,只有声明部分,方法体由子类来实现final最终方法,不能被子类重构native本地方法,由本地其他语言代码实现syn
21、chronized同步,将在“多线程”中介绍,static用于修饰类的数据成员和方法,表示该成员为静态成员基本形式:static 数据类型 变量名;static 返回类型 方法名(参数列表)/方法体,修饰符static,class A static int b=0;/静态成员变量 static void get()/静态方法,static修饰的 类成员或静态成员在定义时就静态分配了内存空间,在生成类对象之前就可以使用静态成员静态成员是属于整个类的,一个类的多个对象可以共享该静态成员无static修饰的 实例成员属于某个对象或实例,必须要定义对象才能使用,修饰符static,对静态成员的访问方法
22、先生成该类的实例(对象),然后再通过点运算符访问A a=new A();a.b=5;a.get()是不生成实例,直接在类名后加上点运算符和静态成员名A.b=5;A.get(),Company Logo,static方法内部随时可以访问static成员变量和方法,要访问非static成员变量或方法,必须先创建一个对象。非static方法随时访问,静态方法不能被重载和重写,修饰符static,对静态成员的访问方法static方法内部可以访问static成员变量和方法不能访问非static成员变量或方法,必须先创建一个对非static方法可以访问static成员变量和方法可以访问非static成员变
23、量和方法,Company Logo,class Point static int x;int y;public static void main(String args)x=10;/可以,类变量随时可以使用 y=20;/不可以。必须先创建一个类对象 Point pt=new Point();pt.y=20;/可以通过对象pt来访问pt对象中的变量y,修饰符-final,final关键字最终的,不能修改可以修饰类,成员变量和方法。最终类,不能再有子类;最终方法,不能再被重写;最终属性,初始化后,不能再被赋值。常量,Company Logo,final class A final double P
24、I=3.1416;final double area(double r)return(PI*r*r);class FinalTest static public void main(String arg)A a=new A();System.out.println(area=+a.area(5.0);,a.PI=100或重写方法area()都是错误的,修饰符 abstract,抽象方法用abstract修饰的方法,抽象方法只有方法的返回值、名称和参数列表,没有函数体。抽象类用abstract修饰的类抽象类是一种没有完全实现的类。不能用它产生具体的实例,Company Logo,7、方法,类成员
25、方法方法定义方法调用方法重载构造方法主方法,Company Logo,方法定义,返回值类型可以是基本数据类型、数组或类如果方法不返回任何值,必须声明为void(空)参数列表由零个或多个参数构成,参数之间用逗号分隔,每个参数由一个数据类型和一个标识符构成方法体定义了该方法具体是如何实现的,是整个方法的核心和重点局部变量 方法体中定义的变量参数列表,Company Logo,方法修饰符 返回值类型 方法名(参数列表)方法体,方法调用,调用方法实参在调用时会代替方法定义中的形参。要求实参的类型、个数和顺序必须与定义中的形参表一致。方法调用的形式有两种一种是把方法调用作为一个表达式语句另一种是作为一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 学生 基本信息 管理
链接地址:https://www.31ppt.com/p-5889899.html