第 1 部分 案例:教师与学生
最编程
2024-05-06 15:38:04
...
案例:老师和学生
需求:定义老师类和学生类,然后写代码测试;最后找到老师类和学生类当中的共性内容,
抽取出一个父类,用继承的方式改写代码,并进行测试
思路:
1、定义老师类(姓名,年龄,教书())
2、定义学生类(姓名,年龄,学习())
3、定义此时类,写代码测试
4、共性抽取父类,定义人类(姓名,年龄)
5、定义老师类,继承人类,并给出自己特有方法:教书()
6、定义学生类,继承人类,并给出自己特有方法:学习()
7、定义测试类,写代码测试
package com.itheima_07; public class Person { private String name; private int age; public Person() { } public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
package com.itheima_07; public class Teacher extends Person{ public Teacher(){} public Teacher(String name,int age){ super(name,age); } public void teach(){ System.out.println("用爱成就每一位学员"); } }
package com.itheima_07; public class Student extends Person{ public Student(){} public Student(String name,int age){ super(name,age); } public void study(){ System.out.println("好好学习,天天向上"); } }
package com.itheima_07; /* * 测试类 * */ public class Demo { public static void main(String[] args) { //创建老师类对象进行测试 Teacher t1 = new Teacher(); t1.setName("曹巧梦"); t1.setAge(30); System.out.println(t1.getName() + "," + t1.getAge()); t1.teach(); Teacher t2 = new Teacher("方宾", 22); System.out.println(t2.getName() + "," + t2.getAge()); t2.teach(); //创建学生类对象进行测试 Student s1 = new Student(); s1.setName("曹巧梦"); s1.setAge(30); System.out.println(s1.getName() + "," + s1.getAge()); s1.study(); Student s2 = new Student("方宾", 22); System.out.println(s2.getName() + "," + s2.getAge()); s2.study(); } }
推荐阅读
-
第 1 部分 案例:教师与学生
-
案例分析第01部分:软件架构设计考点架构风格与质量属性(2024年软考高级系统架构设计师冲刺知识点汇总系列文章)
-
Ros 从入门到精通第 1 部分:Ros 安装,护士级,适合刚开始学习软路由的学生,易于上手!
-
阿里味" GitHub 新年新 NO.1 软件架构设计与业务架构融合手册 - 第 5 部分:
-
玩转Qt 2D绘图:填充规则详解与实战案例(第3部分)
-
使用hashlib库进行数据加密与解密:确保信息安全篇 - 第1部分
-
动态规划算法的两种经典解决方式:最优子结构和DP数组的使用解析-动态规划算法问题 什么叫作最优子结构? 和动态规划有什么关系? 为什么动态规划遍历DP数组的方式有正着遍历,有倒着遍历,有斜着遍历? 最优子结构 最优子结构是某些问题的一种特定的性质,并不是动态规划问题所特有的. 很多问题都具有最优子结构,但是其中大部分不具有重叠子问题,所以不会归为动态规划系列的问题 最优子结构: 可以从子问题的最优结果推导出更大规模问题的最优结果 子问题之间必须相互独立 通过改造问题来优化由于子问题之间不独立而导致的最优子结构失效的情况: 问题: 假设学校有10个班,已知每个班的最高分与最低分差值的最大分数差,需要计算全校学生中的最大分数差 分析: 这样的问题就无法通过这10个班的最大分数差来推导出来,因为这10个班的最大分数差不一定就包含全校学生的最大分数差.比如全校的最大分数差可能是由8班的最高分和6班的最低分的分数差而得.这样就导致子问题之间不是互相独立的 改造问题: 直接进行问题改造 int result = 0; for (Student a : school) { for (Student b : school) { if (a is b) { continue; } result = max(result, |a.score - b.score|) } } return result; 改造问题就是将问题等价转化: 最大分数差就等价于最高分数与最低分数的差 那么就是要求最高和最低分数 求最高分数是具备最优子结构的,求最低分数也是具有最优子结构的 这样就样一个不具备最优子结构的问题转化为具备最优子结构的子问题 借助最优子结构解决最值问题,再解决最大分数差问题 题目: 求一棵二叉树的最大值,假设节点中的值都为非负数 int maxVal(TreeNode root) { if (root == null) { return -1; } int left = maxVal(root.left); int right = maxVal(root.right); return max(root.val, left, right); }
-
GB/T 38634.1-2020 系统与软件工程 软件测试 第1部分:概念和定义的标题重写如下: 软件测试:GB/T 38634.1-2020 系统与软件工程 第1部分——概念和定义