java教案4计算10面向对象编程.docx

上传人:b****5 文档编号:2939755 上传时间:2022-11-16 格式:DOCX 页数:19 大小:93.67KB
下载 相关 举报
java教案4计算10面向对象编程.docx_第1页
第1页 / 共19页
java教案4计算10面向对象编程.docx_第2页
第2页 / 共19页
java教案4计算10面向对象编程.docx_第3页
第3页 / 共19页
java教案4计算10面向对象编程.docx_第4页
第4页 / 共19页
java教案4计算10面向对象编程.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

java教案4计算10面向对象编程.docx

《java教案4计算10面向对象编程.docx》由会员分享,可在线阅读,更多相关《java教案4计算10面向对象编程.docx(19页珍藏版)》请在冰豆网上搜索。

java教案4计算10面向对象编程.docx

java教案4计算10面向对象编程

课 时 授 课 计 划

课次序号:

4

一、课  题:

面向对象编程

1.类与对象

2.封装

3.构造器

4.变量的位置和初始化

5.方法参数传值

6.this

二、课  型:

课堂讲授

三、目的要求:

学生通过该次课的学习,学生掌握悉Java源程序的基本结构,掌握类的构成及方法的重载。

掌握变量类型及特点。

掌握封装的作用及实现,掌握构造函数的特点及重载。

掌握变量的位置级初始化。

四、重点、难点:

重点:

类的构成构造器

难点:

源程序构成方法参数传值

五、教学方法及手段:

一讲授为主,例题的编辑、编译、运行结合现场演示进行。

六、参考资料:

《JAVA程序设计实用教程》

七、作业:

1.Java的源文件命名规则是什么?

2.构造器的特点是什么?

3.编写程序完成如下功能:

1)创建一个student类,其中包括属性:

学号,姓名,性别,年龄(属性进行封装)。

方法包括:

获得学号,获得姓名,获得性别,获得年龄,修改年龄。

定义构造函数初始化属性。

2)定义一个主类,在主类中创建一个student对象,格属性值为“040811888”,“张三”,“男”,20,输出该生的姓名和年龄,将该生年龄增一。

 

八、授课记录:

授课日期

班  次

九、授课效果分析:

本次课内容是面向对象程序设计的基础,学生以前没有接触过这些概念,为了容易理解举了一些容易理解的例子,并用浅显易懂的语言进行描述。

十、教学进程(教学内容、教学环节及时间分配等)

1、复习(5分钟)

源程序的基本结构,标识符命名规则。

握编辑、编译、运行的过程。

2、导入课题:

面向对象初步(5分钟)

3、教学内容(70分钟)

第4章 面向对象编程

3.1.1类与对象的概念

1.对象(Object):

在现实世界中,人们面对的所有事物都可以称为对象,对象是构成现实世界的一个独立的单位,具有自己的静态特征(属性)和动态特征(方法).

2.类(class)

类是具有相同数据格式(属性)和相同操作功能(方法)的对象的集合与抽象。

一个类是对一类对象的描述,是构成对象的模板,对象是类的具体实例。

3.面向对象的特征:

面向对象的基本特征是封装、继承、多态。

3.1.2类的定义和使用

1.类的定义

类定义的格式:

class类名{

类体

}

举例

classBirthDay{

intyear,month,day;

}

注意:

类中的变量称为成员变量、实例变量或域(field).

2.类的使用

(1)定义某变量为该类型

BirthDayTombth,Marybth;

(2)创建对象

new类名()

newBirthDay();

(3)赋值

可以将创建的对象给同一类型的参考类型变量赋值。

例如:

Tombth=newBirthDay();

Marybth=newBirthDay();

(4)成员变量的使用

例如:

Tombth.year=1999;

Marybth.year=2000;

3.一个完整的例子

例3-1

//BirthDay.java,一个类的使用的例子

classBirthDay{

intyear,month,day;

}

publicclassBirthTest{

publicstaticvoidmain(Stringargsp[]){

BirthDayTombth,Marybth;

Tombth=newBirthDay();

Marybth=newBirthDay();

Tombth.year=1999;

Tombth.month=9;

Tombth.day=10;

Marybth.year=2000;

System.out.println("Tomwasbornin"+Tombth.year);

System.out.println("Marywasbornin"+Marybth.year);

}

}

程序输出结果:

Tomwasbornin1999

Marywasbornin2000

3.1.3源文件构成及命名

例3-1中的程序,由两个类构成一个Java源文件。

Java的程序构成、源文件命名以及类的关系如下:

(1)一个程序中由一个或多个类构成,这些类可以放在同一个源文件中,也可以放在不同文件中,编译后每个类都会对应一个class文件,该class文件主名与类名相同。

(2)如果一个源文件中各个类前面都没有public修饰符修饰,源文件主名可以任意取。

(3)如果一个源文件中某个类前面有public修饰符,则文件名必须与public修饰的类同名,但一个源文件中最多只能有一个类被public修饰。

(4)对于可以独立运行的JavaApplication程序,在命令行中通过“java主类名”执行,这里主类是包括main()方法的类,该方法是程序的入口,且类名后不能带后缀“.class”。

3.1.4基本类型与参考类型变量的区别

1.基本数据类型

例如有以下代码:

intx,y;

x=10;

y=20;

y=x;

(1)执行intx,y;语句

(2)执行x=10;y=20;语句

(3)执行y=x;语句

2.参考数据类型

(1)执行BirthDayTombth,Marybth;

(2)执行Tombth=newBirthDay();Marybth=newBirthDay();

(3)执行Tombth.year=1999;Tombth.month=9;Tombth.day=10;Marybth.year=2000;

(4)执行Marybth=Tombth;

3.1.5在类定义中创建自身的对象

例3-2

//BirthTest1.java,在类定义过程中创建自身的对象

publicclassBirthTest1{

intyear,month,day;

publicstaticvoidmain(Stringargsp[]){

BirthTest1Tombth,Marybth;

Tombth=newBirthTest1();

Marybth=newBirthTest1();

Tombth.year=1999;

Tombth.month=9;

Tombth.day=10;

Marybth.year=2000;

System.out.println("Tomwasbornin"+Tombth.year);

System.out.println("Marywasbornin"+Marybth.year);

}

}

定义如何操作数据——方法

1 为什么要定义方法

方法类似与c语言中的函数,方法是对数据的操作。

只是方法定义在类中,和数据捆绑在一起。

即:

对象=数据+处理方法

2 如何定义方法

格式:

class类名{

返回值方法名(参数){

java语句;

…..

}

}

3 方法的使用

实用方法跟使用成员变量一样,可以通过参考类型的变量来访问。

例3-6

classmydate{

intyear,month,day;

voidsetdate(inty,intm,intd){

if(d>31)System.out.println("daytoobigerror");

year=y;

month=m;

day=d;

showdate();

}

voidshowdate(){

System.out.println(year+":

"+month+":

"+day);

}

}

classdtest{

publicstaticvoidmain(Stringargs[]){

mydatex=newmydate();

x.setdate(2006,9,18);

System.out.println(x.year);

x.showdate();

}

}

4 多个方法同名——方法的重载

一个类中功能相似的方法可以去相同的名称,其前提条件是用不同参数进行区分。

1.重载条件:

1)方法名相同;

2)方法的参数类型、个数、顺序至少有一个不同;

3)方法的返回类型可以不相同;

4)方法的修饰符可以不相同

例3-7

publicclassov1{

publicvoidp(){}

publicvoidp(inti){

System.out.println("1");

}

publicvoidp(shorti){

System.out.println("2");

}

publicstaticvoidmain(Stringargs[]){

ov1t=newov1();

t.p(3);

shortx=3;

t.p(x);

}

}

2.类型转换:

凡是将变量从占用内存较少的短数据类型转化为占用内存较多的长数据类型时,可以不做显示的类型转换声明,而将变量从较长的数据类型转换为较短的数据类型时,需强制类型转换。

例:

intx=5

longl=x;//短转换为长,自动进行

longl=20;

intn=(int)l;//长转换为短,强制声明

上述规则对于参数传递仍然适用,实参传递给形参,实质上就是实参为形参赋值。

例3-8

publicclassov1{

publicvoidp(){}

publicvoidp(inti){

System.out.println("1");

}

publicstaticvoidmain(Stringargs[]){

ov1t=newov1();

t.p(3);

shortx=3;

t.p(x);

}

}

例3-9

publicclassov1{

publicvoidp(){}

publicvoidp(shorti){

System.out.println("2");

}

publicstaticvoidmain(Stringargs[]){

ov1t=newov1();

t.p(3);//无法匹配,出错

shortx=3;

t.p(x);

}

}

保护类中的数据——封装

1 何时要使用封装

对于类中一些重要变量,应该对其提供保护,强迫其他人使用时只通过定义好的方法来访问。

2 如何使用封装

在变量前面加private修饰符即可达到封装的目的。

加上private修饰符后,对该变量的直接读取和赋值操作都被禁止,该变量对于使用者就像不存在一样,只能通过方法访问。

封装是面向对象的三个重要特性之一,另外两个特征:

继承和多态。

例3-13

classmydate{

privateintyear;

privateintmonth;

privateintday;

voidsetdate(inty,intm,intd){

if(d>31)System.out.print

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1