《HarmonyOS鸿蒙应用开发》-项目3-01 类的结构;项目3-02 访问修饰符和继承_第1页
《HarmonyOS鸿蒙应用开发》-项目3-01 类的结构;项目3-02 访问修饰符和继承_第2页
《HarmonyOS鸿蒙应用开发》-项目3-01 类的结构;项目3-02 访问修饰符和继承_第3页
《HarmonyOS鸿蒙应用开发》-项目3-01 类的结构;项目3-02 访问修饰符和继承_第4页
《HarmonyOS鸿蒙应用开发》-项目3-01 类的结构;项目3-02 访问修饰符和继承_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

XX学院教案

课程HarmonyOS鸿蒙应用开发课次5

课题类的结构

班级

授课地点

实到人数

授课时间

备课时间课型口理论口实践J理实一体

知识目标:

1.掌握类的基本组成(字段/构造方法/方法)。

2.理解实例字段与静态字段的区别。

3.掌握getter/setter的访问控制机制。

能力目标:

1.能正确定义类的构造方法。

教学目标

2.能合理使用静态成员管理类级数据。

3.能通过封装保护私有字段。

素质目标:

1.培养面向对象的编程思维。

2.强化代码规范意识。

3.通过银行案例培养数据安全意识。

1.构造方法的初始化作用。

教学重点2.私有字段的封装特性。

3.静杰字段的共享机制。

1.this关键字的正确使用。

教学难点2.只读静态字段的特性。

3.getter/setter的访问控制。

教学过程(主要教学内容、教学方式方法、教学时间分配等)

教学用时

主要教学内容教学方式、方法手段等(教师活动/学生活动)

(分钟)

一、导入新课1.电视机案例:10,

-封装:内部电路不可见

-继承:保留基本功能基础上改进

-多态:不同品牌实现相同功能

2.引出问题:如何用代码表示电视机类。

(案例分析法,提问引导法)

二、字段讲解1.分析BankAccount案例:20'

-静态字段BANK_NAME(所有账户共享)

-实例字段_ownerName(每个账户独有)

2.封装实践:

-演示将字段设为private

通过public的getter/setter访问

3.对比直接访问字段和使用getter/setter的

区别。

(对比分析法,实操演示)

三、构造方法1.Point类案例解析:20'

-默认无参构造方法

-自定义有参构造方法

-this关键字的使用场景

2.构造方法重载演示

3.错误示范:未初始化字段的后果。

(错误示范法,小组讨论)

四、方法实践1.Triangle类案例实操:201

-实例方法calculateArea

-静态方法areaTip

2.Car类综合训练:

-字段定义(品牌、型号)

-方法实现(启动、行驶)

3.拓展练习:为Car添加刹车方法。

(任务驱动法,分组练习法)

五、总结提升1.知识图谱构建:10'

-类三要素关系图

-静态vs实例对比表

2.常见问题解答:

-何时使用静态成员

-封装的实际意义

(思维导图法,问答互动法)

课程思政1.信息安全:通过BankAccount私有字段强调金融数据保护

教学设计的重要性。

2

2.工匠精神:用Car类案例说明汽车制造中的标准化要求。

3.创新意识:从电视机发展看技术迭代的创新思维。

教学手段

极域课堂教学

教具

1.超星在线作业。

课后作业2.基础题:完善Triangle类(添加周长计算功能)。

与思考题3.提高题:设计电视机类(包含至少3个字段和2个方法)。

4.拓展阅读:查阅HarmonyOS中类的应用实例。

本课严格遵循教材案例体系,采用“概念解析一案例演示一

实操训练一总结提升”的四段式教学。通过电视机、银行账

户、坐标点、三角形、汽车等系列案例,循序渐进地讲解类

结构的各个组成部分。教学过程中特别注重:

总结分析

>使用对比分析法突出静态与实例成员的区别。

>通过错误示范强化封装意识。

>借助Car综合案例培养工程化思维。

>结合HarmonyOS开发场景增强实践针对性。

教学详案(附页)

一、导入新课(10分钟)

1.电视机案例引入(5分钟)

【教师活动】

展示智能电视机实物图片,提问引导:“如果我们要用代码表示电视机,应该包含

哪些组成部分?”。

绘制电视机类结构草图:

电视机

+品牌:string

+尺寸:number

+开机()

+换台()

2.概念解析(3分钟)

对照任务3.1内容,逐项解释:

封装:用电视外壳比喻(不可见内部电路)。

继承:图片演示从“老式电视一液晶电视一智能电视”的演进。

多态:展示不同品牌电视的相同功能以及各自细微不同的功能。

3.过渡提问(2分钟)

展示类的结构:

class类名{

字段

构造方法

3

方法

}

提问“如何用代码实现电视机类的封装?”,“银行账户类与电视机类在设计

上有何异同?”。

二、字段讲解(20分钟)

1.BankAccount案例演示(8分钟)

【教师演示】

classBank?\ccount{

staticreadonlyBANK_NAME="ArkTSBank";//静态只读字段

statictotalAccounts=0;//静态字段

private_ownerName="";〃私有实例字段

privatebalance=0;//私有实例字段

)

字段类型访问方式内存分配示例

静态字段类名.字段类加载时BankAccount.BANK_NAME

实例字段实例.字段实例化时account._ownerName

2.封装实践(7分钟)

【错误示范】

account,balance=-1000;//直接访问私有字段报错

【正确操作】

//演示getter/setter

publicsetbalance(value:number){

if(value>=0)this..balance=value;

elseconsole.log("余额不能为负!”);

1

this关键字讲解。

3.小组任务(5分钟)

任务:为BankAccount添加“账户类型”字段。

要求:静态字段保存类型列表,实例字段记录单个账户类型。

三、构造方法(20分钟)

教师强调:类是模板,对象是产品,构造方法是根据模板生产产品的过程。

1.Point类案例(8分钟)

【基础演示】

classPoint{

x:number=0;

y:number=0;

constructor(x:number,y:number){

this,x=x;//this关键字强调

4

this.y=y;

)

}

【常见错误】

忘记this导致字段未初始化。

构造方法重载失败演示。

2.银行账户改造(7分钟)

【任务升级】要求在生产过程中(也即构造方法中),做一些改造。

constructor(name:string,initBalance:number){

this._ownerName=nane;

this,balance=initBalance;//调用setter进行验证

BankAccount.totalAccounts++;//总账户数自动加1

)

3.情景讨论(5分钟)

【问题场景】

如果创建账户时不提供初始余额怎么办?

如何实现带默认参数的阂造方法?

四、方法实践(20分钟)

1.Triangle类实操(8分钟)

【分层任务设计】

//基础层

calculateAreaO:number(

returnthis.base*this,height/2;

)

//提商层

staticvalidate(base:number,height:number):boDlean{

returnbase>0&&height>0;

)

2.Car类综合训练(10分钟)

【分组实施】

基础组:实现startEngineO方法

进阶组:添加brake。方法

挑战组:设计静态方法showSafctyTips()

【典型代码展示】

drive(distance:number):void(

this.startEngine();

this._mileage+=distance;

console,log('行驶${distance}km,总里程:${this,.mileage)km*);

)

3.实时调试(2分钟)

【故意制造错误】

静态方法中访问实例字段。

5

忘记初始化私有字段。

五、总结提升(10分钟)

1.知识图谱构建(5分钟)

【双气泡图对比】

静态成员vs实例成员

I内存分配:类加载时vs实例化时

I---访问方式:类名访问VS实例访问

1-生命周期:程序运行期VS实例存在期

2.鸿蒙应用问答(3分钟)

Q:HarmonyOS中如何定义UI组件类?

A:展示简单组件类示例

classMyButton{

privatetext:string;

constructor(text:string){…}

onClick():void{…}

3.课后延伸(2分钟)

【思考题】设计HarmonyOS中的“智能家居设备类”。

必须包含:静态字段、私有实例字段、构造方法、实例方法。

选做:实现设备联动多态。

【教学反思预置】

需重点观察学生对this关键字的理解程度

通过BankAccount案例的数据安全强调,自然融入课程思政

XX学院教案

课程HarmonyOS鸿蒙应用开发课次6

课题访问修饰符和继承

班级

授课地点

实到人数

授课时间

备课时间课型口理论口实践J理实一体

知识目标:

1.掌握访问修饰符public/private/protected的使用场景。

2.理解继承机制中extends和super关键字的作用。

3.掌握方法重写。verride的语法规则。

教学目标

能力目标:

1.能正确使用访问修饰符设计类结构。

2.能实现类的单继承关系。

3.能完成父类方法的重写。

6

素质目标:

1.培养边界意识与信息安全观念。

2.理解团队协作中的角色分工。

3.树立守正创新的技术发展观。

1.访问修饰符的可见性控制。

教学重点2.继承关系的建立方法。

3.方法重写的实现方式。

1.protected修饰符的特殊性。

教学难点2.super关键字的调用时机。

3.私有成员的不可继承性。

教学过程(主要教学内容、教学方式方法、教学时间分配等)

教学用时

主要教学内容教学方式、方法手段等(教师活动/学生活动)

(分钟)

一、导入新课1.展示银行账户系统需求:10'

-公开余额查询

-保护交易记录

-受限操作权限

2.引出访问控制需求。

(需求分析法)

二、访问修饰符1.BankAccount案例解析:15'

-publicbalance字段

-privatetransactions字段

-protectedupdateTransaction方法

2.编译错误场景演示。

(讲授法,演示法)

三、继承机制1.交通工具继承关系图示。20'

2.ToamMember案例实操:

-父类protected字段

-子类extends继承

-super调用演示

3.私有方法不可继承验证。

(图示法,实操演示)

四、案例实战1.Developer类实现:20'

-work方法重写(override)

-innovate新增方法

2.Designer类实现:

-work方法重写(override)

-optimizeExperience新增方法

3.团队协作效果演示。

(角色扮演法)

7

五、总结提升1.三大修饰符对比表格。15'

2.继承关系要点梳理。

3.方法重写规范强调。

(归纳总结法)

1.信息安全:通过private交易记录强调数据保护。

课程思政

2.团队协作:借Dcvclopcr/Designcr角色说明分工配合。

教学设计

3.创新发展:用overri加机制体现创新与传承。

教学手段

极域课堂教学

教具

1.超星在线作业。

课后作业2.基础题:扩展BankAcccunt添加取款功能(使用protected

与思考题方法)。

3.提高题:为TeamMember新增测试工程师子类。

本课通过银行账户和团队开发两大场景,系统讲解访问控制

和继承机制。教学特色:

总结分析>使用BankAccount案例直观展示修饰符效果。

>通过TeamMember类族演示完整的继承关系。

>强调编译错误分析培养调试能力。

教学详案(附页)

一、导入新课(10分钟)

【情境创设】展示银行ATM机操作界面截图。

提问:“当你在ATM上查询余额时,为什么不能直接看到别人的交易记录?

引导学生思考系统权限在制的重要性。

【需求分析】

银行账户系统需求:

账户持有人可随时查看余额(公开)

X禁止外部直接修改交易记录(私有)

△特殊操作需授权(受保护)

对比现实场景:

公开服务窗口(public)

金库重地(private)

授权通道(protected)

8

【板书设计】

访问控制三要素:

谁能看?一可见性

谁能改?f可修改性

谁能继承?一可扩展性

二、访问修饰符(20分钟)

【核心概念解析】

修饰符类内部子类类外部

publicJVJ

protectedVVX

privateJXX

【案例深度剖析】

关键代码段演示:

//重点标注1:public字段

console,log(account,balance);//正常执行

//重点标注2:private字段

account,transactions.push();//触发编译错误

【错误诊断实践】

故意制造典型错误:

①尝试外部调用private方法

②非子类调用protected方法

引导学生阅读错误信息:Property'transactionsrisprivate...”

【安全设计原则】最小权限原则。

三、继承机制(20分钟)

以“案例实战3-2”进行演示解说。

【继承关系】

子类可以把父类中除构造方法、私有字段、私有方法以外的字段和方法都继承下来。

【super关键字的用法】

构造方法调用:super(name)

普通方法调用:super.work()

【方法重写规范】

对比演示正确与错误的重写:

//正确写法

overridework():void;...}

//典型错误1:缺少override

work():void{...}//父类有同名方法时警告

//典型错误2:修改参数类型

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论