diff --git "a/28 \351\273\216\345\255\220\351\276\231/20230422 \347\273\203\344\271\240.md" "b/28 \351\273\216\345\255\220\351\276\231/20230422 \347\273\203\344\271\240.md" new file mode 100644 index 0000000000000000000000000000000000000000..6791c344924baf75e80c6ca210195345a83d00b5 --- /dev/null +++ "b/28 \351\273\216\345\255\220\351\276\231/20230422 \347\273\203\344\271\240.md" @@ -0,0 +1,608 @@ +```java +作业规范【必读】 + +命名要求: + 1. 类名,接口名,枚举名,注解名使用大驼峰 + 2. 变量名,方法名,包名均使用小驼峰 + 3. 常量名全大写,多个单词下划线分割 + 4. 名字要见名知意,如果不知道对应的英文,可以使用拼音代替。不可使用无意义字符 + +代码规范: + 格式要良好,使用IDEA格式化缩进(快捷键:Ctrl+Alt+L) + +答题规范: + 1. 每道题完整代码请贴入对应题目中的代码区。 + 2. 如果有运行结果的,请把代码运行结果放到文档中 +``` + + + +# 【继承】 + +## 题目1 + +我们计划为一个电器销售公司制作一套系统,公司的主要业务是销售一些家用电器,例如:电冰箱、洗衣机、电视机产品。 + +类的设计为: + +``` +冰箱类 + 属性:品牌、型号、颜色、售价、门款式、制冷方式 + +洗衣机类 + 属性:品牌、型号、颜色、售价、电机类型、洗涤容量 + +电视类 + 属性:品牌、型号、颜色、售价、屏幕尺寸、分辨率 +``` + +**要求:** + +请根据上述类的设计,抽取父类“电器类”,并代码实现父类“电器类”、子类“冰箱类”,“洗衣机类”、“电视类” + + + +答题: + +```java +public class DianQi { + /* + 品牌、型号、颜色、售价 + */ + private String brand; + private String model; + private String color; + private double price; + + public String getBrand() { + return brand; + } + + public void setBrand(String brand) { + this.brand = brand; + } + + public String getModel() { + return model; + } + + public void setModel(String model) { + this.model = model; + } + + public String getColor() { + return color; + } + + public void setColor(String color) { + this.color = color; + } + + public double getPrice() { + return price; + } + + public void setPrice(double price) { + this.price = price; + } + + + public DianQi() { + } + + public DianQi(String brand, String model, String color, double price) { + this.brand = brand; + this.model = model; + this.color = color; + this.price = price; + } +} +``` + + + +```java +public class BingXiang extends DianQi{ + /* + 门款式、制冷方式 + */ + private String meng; + private String zhileng; + + public String getMeng() { + return meng; + } + + public void setMeng(String meng) { + this.meng = meng; + } + + public String getZhileng() { + return zhileng; + } + + public void setZhileng(String zhileng) { + this.zhileng = zhileng; + } + + public BingXiang() { + } + + public BingXiang(String brand, String model, String color, double price, String meng, String zhileng) { + super(brand, model, color, price); + this.meng = meng; + this.zhileng = zhileng; + } + + @Override + public String toString() { + return "这款冰箱的品牌为:"+getBrand()+",\n型号为:"+getModel()+",\n颜色为:"+getColor()+ + ",\n售价为:"+getPrice()+",\n门款式为:"+meng+",\n制冷方式为:"+zhileng; + } +} +``` + + + +```java +public class XiYiJi extends DianQi{ + /* + 电机类型、洗涤容量 + */ + private String liexin; + private double rongliang; + + public String getLiexin() { + return liexin; + } + + public void setLiexin(String liexin) { + this.liexin = liexin; + } + + public double getRongliang() { + return rongliang; + } + + public void setRongliang(double rongliang) { + this.rongliang = rongliang; + } + + public XiYiJi() { + } + + public XiYiJi(String brand, String model, String color, double price, String liexin, double rongliang) { + super(brand, model, color, price); + this.liexin = liexin; + this.rongliang = rongliang; + } + + @Override + public String toString() { + return "这款洗衣机的品牌为:"+getBrand()+",型号为:"+getModel()+",颜色为:"+getColor()+ + ",售价为:"+getPrice()+",电机类型为:"+liexin+",洗涤容量为:"+rongliang; + } +} +``` + + + +```java +public class DianShi extends DianQi{ + /* + 屏幕尺寸、分辨率 + */ + private double chicun; + private double fengbinalv; + + public double getChicun() { + return chicun; + } + + public void setChicun(double chicun) { + this.chicun = chicun; + } + + public double getFengbinalv() { + return fengbinalv; + } + + public void setFengbinalv(double fengbinalv) { + this.fengbinalv = fengbinalv; + } + + public DianShi() { + } + + public DianShi(String brand, String model, String color, double price, double chicun, double fengbinalv) { + super(brand, model, color, price); + this.chicun = chicun; + this.fengbinalv = fengbinalv; + } + + @Override + public String toString() { + return "这款电视的品牌为:"+getBrand()+",型号为:"+getModel()+",颜色为:"+getColor()+ + ",售价为:"+getPrice()+",屏幕尺寸为:"+chicun+",分辨率为:"+fengbinalv; + } +} +``` + + + +```java +public class Test { + public static void main(String[] args) { + DianShi dianshi = new DianShi("QWER","DS1054","黑色", + 1000,24,1024); + System.out.println(dianshi); + } +} +``` + + + +## 题目2 + +我们计划为一个动物园制作一套信息管理系统,根据与甲方沟通,我们归纳了有以下几种动物需要记录到系统中: + +```java +鸟类: 鹦鹉、猫头鹰、喜鹊 +哺乳类: 大象、狼、长颈鹿 +爬行类: 鳄鱼、蛇、乌龟 +``` + + + +**要求:** + +请根据以上需求,使用“继承”设计出三层的类结构 + +```java +|--动物类 + |--鸟类: + |--鹦鹉类 + |--猫头鹰类 + |--喜鹊类 + + |--哺乳类: + |--大象类 + |--狼类 + |--长颈鹿类 + + |--爬行类: + |--鳄鱼类 + |--蛇类 + |--乌龟类 +``` + +作为父类的类都应该定义一些共性内容,每种子类也都有一些特定的内容。 重点是类的层次结构,类成员简单表示即可。 + + + +**答案:** + +```java +public class Animal { + /* + 性别,年龄 + */ + private String sex; + private int age; + + public String getSex() { + return sex; + } + + public void setSex(String sex) { + this.sex = sex; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + public Animal() { + } + + public Animal(String sex, int age) { + this.sex = sex; + this.age = age; + } +} +``` + + + +```java +public class AnimalBirds extends Animal { + private String zhicun; + + public String getZhicun() { + return zhicun; + } + + public void setZhicun(String zhicun) { + this.zhicun = zhicun; + } + + public AnimalBirds() { + } + + public AnimalBirds(String sex, int age, String zhicun) { + super(sex, age); + this.zhicun = zhicun; + } +} +``` + + + +```java +public class AnimalBirdsMaoTouYing extends AnimalBirds { + private String yanse; + + public String getYanse() { + return yanse; + } + + public void setYanse(String yanse) { + this.yanse = yanse; + } + + public AnimalBirdsMaoTouYing() { + } + + public AnimalBirdsMaoTouYing(String sex, int age, String zhicun, String yanse) { + super(sex, age, zhicun); + this.yanse = yanse; + } +} +``` + + + +```java +public class AnimalBirdsXiQue extends AnimalBirds { + private String yumao; + + public String getYumao() { + return yumao; + } + + public void setYumao(String yumao) { + this.yumao = yumao; + } + + public AnimalBirdsXiQue() { + } + + public AnimalBirdsXiQue(String sex, int age, String zhicun, String yumao) { + super(sex, age, zhicun); + this.yumao = yumao; + } +} +``` + + + +```java +public class AnimalBirdsYingWu extends AnimalBirds { + private String jiaosheng; + + public String getJiaosheng() { + return jiaosheng; + } + + public void setJiaosheng(String jiaosheng) { + this.jiaosheng = jiaosheng; + } + + public AnimalBirdsYingWu() { + } + + public AnimalBirdsYingWu(String sex, int age, String zhicun, String jiaosheng) { + super(sex, age, zhicun); + this.jiaosheng = jiaosheng; + } +} +``` + + + +```java +public class AnimalMammalia extends Animal { + private String fanshi; + + public String getFanshi() { + return fanshi; + } + + public void setFanshi(String fanshi) { + this.fanshi = fanshi; + } + + public AnimalMammalia() { + } + + public AnimalMammalia(String sex, int age, String fanshi) { + super(sex, age); + this.fanshi = fanshi; + } +} +``` + + + +```java +public class AnimalMammaliaChangJingLu extends AnimalMammalia { + private String changdu; + + public String getChangdu() { + return changdu; + } + + public void setChangdu(String changdu) { + this.changdu = changdu; + } + + public AnimalMammaliaChangJingLu() { + } + + public AnimalMammaliaChangJingLu(String sex, int age, String fanshi, String changdu) { + super(sex, age, fanshi); + this.changdu = changdu; + } +} +``` + + + +```java +public class AnimalMammaliaDaXiang extends AnimalMammalia { + private String xiangya; + + public String getXiangya() { + return xiangya; + } + + public void setXiangya(String xiangya) { + this.xiangya = xiangya; + } + + public AnimalMammaliaDaXiang() { + } + + public AnimalMammaliaDaXiang(String sex, int age, String fanshi, String xiangya) { + super(sex, age, fanshi); + this.xiangya = xiangya; + } +} +``` + + + +```java +public class AnimalMammaliaLang extends AnimalMammalia { + private String maofa; + + public String getMaofa() { + return maofa; + } + + public void setMaofa(String maofa) { + this.maofa = maofa; + } + + public AnimalMammaliaLang() { + } + + public AnimalMammaliaLang(String sex, int age, String fanshi, String maofa) { + super(sex, age, fanshi); + this.maofa = maofa; + } +} +``` + + + +```java +public class AnimalReptilia extends Animal { + private String paixin; + + public String getPaixin() { + return paixin; + } + + public void setPaixin(String paixin) { + this.paixin = paixin; + } + + public AnimalReptilia() { + } + + public AnimalReptilia(String sex, int age, String paixin) { + super(sex, age); + this.paixin = paixin; + } +} +``` + + + +```java +public class AnimalReptiliaEYu extends AnimalReptilia { + private String weichang; + + public String getWeichang() { + return weichang; + } + + public void setWeichang(String weichang) { + this.weichang = weichang; + } + + public AnimalReptiliaEYu() { + } + + public AnimalReptiliaEYu(String sex, int age, String paixin, String weichang) { + super(sex, age, paixin); + this.weichang = weichang; + } +} +``` + + + +```java +public class AnimalReptiliaShe extends AnimalReptilia { + private String duxin; + + public String getDuxin() { + return duxin; + } + + public void setDuxin(String duxin) { + this.duxin = duxin; + } + + public AnimalReptiliaShe() { + } + + public AnimalReptiliaShe(String sex, int age, String paixin, String duxin) { + super(sex, age, paixin); + this.duxin = duxin; + } +} +``` + + + +```java +public class AnimalReptiliaWuGui extends AnimalReptilia { + private String kedaxiao; + + public String getKedaxiao() { + return kedaxiao; + } + + public void setKedaxiao(String kedaxiao) { + this.kedaxiao = kedaxiao; + } + + public AnimalReptiliaWuGui() { + } + + public AnimalReptiliaWuGui(String sex, int age, String paixin, String kedaxiao) { + super(sex, age, paixin); + this.kedaxiao = kedaxiao; + } +} +``` + + + diff --git "a/28 \351\273\216\345\255\220\351\276\231/20230425 Java \347\273\203\344\271\240.md" "b/28 \351\273\216\345\255\220\351\276\231/20230425 Java \347\273\203\344\271\240.md" new file mode 100644 index 0000000000000000000000000000000000000000..ecd35313282739968689f54ce58fac8d57f32449 --- /dev/null +++ "b/28 \351\273\216\345\255\220\351\276\231/20230425 Java \347\273\203\344\271\240.md" @@ -0,0 +1,28 @@ +## 题目 + +定义一个数学工具类,类名使用MyMath。 + +要求: + +1. 该工具类不能有子类,不接受扩展。 +2. 该工具类不能被外界创建对象,构造方法需要私有化。 +3. 定义静态常量:PI,用来保存圆周率:3.14。 +4. 定义静态方法max,获取两个整数的较大值。 +5. 定义静态方法min,获取两个整数的较小值。 + + + +```java +final class MyMath { + public static final double PI = 3.14; + + private MyMath() { /* compiled code */ } + + public static int max(int a, int b) { /* compiled code */ } + + public static int min(int a, int b) { /* compiled code */ } + + public static void main(java.lang.String[] args) { /* compiled code */ } +} +``` +