实验四

实验项目:面向对象编程实验(2)—封装、继承和包

实验时间:2019.4.15

实验目的

  1. 掌握继承、包、与类封装性的概念与用法
  2. 学习编写具有包的面向对象的应用程序
  3. 掌握Java封装性中访问控制的用法。

实验内容:

必做

  1. 完成并理解书中71页的J_Teacher.java例题。
    1)理解隐式类型转换和显式类型转换的区别。
    2)尝试创建一个Student类,根据类的继承特点,试问该类是否可以继承J_Employee?如果不能,可否设置一个Student类和Teacher类所共有的父类?编程实现

1.1) 区别:隐式类型转换将类型为子类型得数据转换成为类型为其父类型的数据时,可以不需要强制类型转换运算符”( )”; 显式类型转换将类型为子类型得数据转换成为类型为其父类型的数据时,需要强制类型转换运算符”( )”。
1.2) 无法继承J_Employee;重新定义一个J_Employee。java文件

源文件:

package ex04;public class J_Employee
{public int m_workyear;//工作年限public J_Employee(){                                         m_workyear = 1;}                          //构造方法结束
}                            //类结束
package ex04;public class J_Teacher extends  J_Employee
{public int m_classHour;          //授课的课时                     public J_Teacher(){                            m_classHour = 96;}                                    //构造方法结束public void mb_printInfon(){                        System.out.println("该教师的工作年限为:"+ m_workyear);System.out.println("该教师的授课课时为:"+ m_classHour);}//方法体mb_printInfon结束public static void main(String[] args) {              J_Teacher  tom = new J_Teacher();tom.mb_printInfon();                     }                                               //方法结束}                                            //类结束
package ex04;public class Student extends J_Employee {public int studyYears;   //学习年长//工作年限public Student(){                                         studyYears = 15;}                          //构造方法结束public void mb_printInfon(){   System.out.println("该学生的学习年限为:"+studyYears);System.out.println("该学生工作年限为:"+m_workyear);}public static void main(String[] args) {Student zhangsan = new Student();zhangsan.mb_printInfon();}}

运行结果:
J_Teacher.java

Student.java

  1. 练习包的建立和使用用法:
    1)生成一个类Employee,域变量为name和age;类包为asia.china;
    2)生成一个类Teacher, 继承Employee类;类包为asia.china.guangdong ,域变量为工作年限(workYears)和职称(jobTitle);成员方法包括构造方法与getter方法;
    3)生成测试类TestTeacher, 类包为asia.china.guangdong.zhuhai;在main主方法中创建Teacher类的对象jilinTeacher_zhangsan, 初始化姓名、年龄,工作年限和职称,并测试修改职称信息并显示。

源码:
Employee.java

package ex04.asia.china;public class Employee {//域变量为name和age;public String name;public int age;
}

Teacher.java

package ex04.asia.china.guangdong;import ex04.asia.china.Employee;public class Teacher extends Employee {/**域变量为工作年限(workYears)和职称(jobTitle);成员方法包括构造方法与getter方法; */private int workyears;private String iobTitle;public Teacher(int workyears,String iobTitle) {this.workyears = workyears;this.iobTitle = iobTitle;}public int getWorkyears() {return workyears;}//public void setWorkyears(int workyears) {//this.workyears = workyears;//}public String getIobTitle() {return iobTitle;}//public void setIobTitle(String iobTitle) {//    this.iobTitle = iobTitle;//}}

TestTeacher.java

package ex04.asia.china.guangdong.zhuhai;import ex04.asia.china.guangdong.Teacher;public class TestTeacher {public static void main(String[] args) {Teacher jilinTeacher_zhangsan = new Teacher(20,"老师");jilinTeacher_zhangsan.name = "jilin";jilinTeacher_zhangsan.age = 30;System.out.println("年龄:"+jilinTeacher_zhangsan.age);System.out.println("姓名:"+jilinTeacher_zhangsan.name);System.out.println("工作年限:"+jilinTeacher_zhangsan.getWorkyears());System.out.println("职称:"+jilinTeacher_zhangsan.getIobTitle());}}

运行结果:

实验总结:
学习巩固了继承的使用方法,复习了封装getter方法的使用。

实验四:面向对象编程实验(2)—封装、继承和包相关推荐

  1. Day55-每日一道Java面试题-Java 面向对象编程三大特性: 封装 继承 多态

    Java 面向对象编程三大特性: 封装 继承 多态 封装 封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法,如果属性不想被外界访问,我们大可不必提供方法给外界访问.但是如果一个类没有 ...

  2. linux 程序实验总结,Linux实验报告(实验四) shell编程实验

    实验四 shell编程实验(二) 班级:姓名:学号:上机时间:年月日 任课教师:实验教师:实验成绩: 一.实验目的 综合Linux常用命令和vi编辑器的使用,熟练掌握shell脚本编程. 二.实验注意 ...

  3. MOOS-ivp 实验四 MOOS编程入门(2)MOOS类讲解

    MOOS-ivp 实验四 MOOS编程入门(2)MOOSapp类讲解 文章目录 MOOS-ivp 实验四 MOOS编程入门(2)MOOSapp类讲解 前言 一.MOOSapp父类的结构和方法 1.使用 ...

  4. java实验Java面向对象编程_Java实验项目 面向对象编程.doc

    Java实验项目 面向对象编程 Java实验项目二 面向对象编程 第1部分 类与对象 [实验目的] 熟悉Java面向对象程序设计的基本思想. 掌握类与对象的定义及使用方法. 掌握package语句与i ...

  5. 西北工业大学#面向对象编程实验#实验三

    西北工业大学·面向对象编程实验三 3.1 题目说明:给定Project类,在ProjectArray中实现缺失功能,并在测试类TestProjectArray中运行成功显示"All test ...

  6. MOOS-ivp 实验四 MOOS编程入门(1)

    MOOS-ivp 实验四 MOOS编程入门(1) 文章目录 MOOS-ivp 实验四 MOOS编程入门(1) 前言 一.MOOS概览 1.MOSS应用程序结构 2.定义在MOOSmsg上的便携函数(h ...

  7. 面向对象编程03:封装、继承、多态

    面向对象编程03:封装.继承.多态 文章目录 面向对象编程03:封装.继承.多态 封装 继承 object类 super super注意点: `super` VS `this`: 方法重写 多态 多态 ...

  8. 20175212童皓桢 Java实验二-面向对象程序设计实验报告

    20175212童皓桢 Java实验二-面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设 ...

  9. (二)Javascript面向对象编程:构造函数的继承

    Javascript面向对象编程:构造函数的继承 这个系列的第一部分,主要介绍了如何"封装"数据和方法,以及如何从原型对象生成实例. 今天要介绍的是,对象之间的"继承&q ...

最新文章

  1. 警惕!新版Net Transport(影音传送带)安装有猫腻
  2. 关于NLPIR应用在KETTLE中的探索
  3. 数据分析师免费课程网址
  4. 商业认知,新的一年已经开始,许多老板都制订了新的目标
  5. 2020年java最新招聘_2021年北京Java 工程师招聘-北京Java 工程师招聘求职信息-拉勾招聘...
  6. 十二则技巧让Excel操作效率提高
  7. yapi 权限_win10 x64下从0开始搭建YApi可视化接口管理平台
  8. android 删除开机动画,Android删除开机动画bootanimation.zip
  9. 免费课程:Java高级教程-项目部分视频——私塾在线提供
  10. HTTP代理socks5哪个快
  11. 创新创业_创业基础_课后作业
  12. 关于迅雷试用短租日租会员的一些渠道收集
  13. 各品牌智能电视刷机怎么寻找对应固件包?详细图文教程分享
  14. excel小技巧1:修改的日期格式为什么要双击一下单元格才能变
  15. 认知当下 原子世界的技术发展停滞了么
  16. 原创科幻短篇《高考》
  17. 人脑VS机器? AI时代经济决策的机遇与挑战?
  18. 深度学习-维度的理解
  19. 微信文章如何增加阅读率
  20. 李开复给中国学生的第二封信:从优秀到卓越

热门文章

  1. c语言二维数组对角线输出字符,输出二维数组对角线上的数 c语言 二维数组 对角线相加...
  2. 《C陷阱和缺陷》中两个有趣的代码
  3. 07 Android 植物人大战僵尸-修复放置卡片重叠Bug
  4. CSS-01基础知识
  5. deepnode软件下载地址_KeePass软件-KeePass下载地址
  6. CSS3 -- API学习 (2D、3D动画效果)
  7. “互联网女皇”2012年互联网趋势报告全面更新
  8. 高德地图与CAD图叠加显示方法汇总及优缺点分析
  9. [招贤纳士 ]Gcoge.Com(Bindeng.Com) 使命是整合全球信息,人人从中受益。
  10. 广义相对论研讨(一)