栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

AiRui 6.29 Day08

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

AiRui 6.29 Day08

目录

1.继承:

2.点餐系统:

2.1:菜品类:

2.2设置静态变量

2.3:show方法, 横排打印每个菜品对象信息:

2.4 菜品展示使用display()函数

 2.5  添加菜品使用addDish()函数

2.6 删除菜品使用deleteDish()

2.7 菜品数组扩容使用dilatation()

2.8 点餐 使用saleDish()

2.9  点赞使用 likeDish()


1.继承:

继承的关键字是extends

继承是Java中类与类之间的一种关系

使用继承的好处就是可以用父类封装所有子类的公共代码,让子类继承,实现代码复用

发生继承的类称为子类,被继承的类称为父类

一个类只能继承一个父类,但是一个父类可以有多个子类(一对多的关系)

如果一个类没有显示继承父类,则隐式继承object类

Java不支持多继承,只支持单继承,但支持多级继承

在任何一个继承体系的顶层是object类,object类称为祖先类,上帝类

在构造方法中的第一行出有一条隐式指令super()调用其父类构造方法

this和super的区别:

          this是指向当前对象,super是指向当前父类对象

          this和super的使用语法:

             1.调用构造方法(只能在构造方法中调用,而且必须出现在第一行)

                 this();可以使用this()调用本类构造方法

                 super();可以使用super()调用父类构造方法

             2. 访问成员
                    this.成员变量
                    super.成员变量
                     this.成员方法
                     super.成员方法

子类可以继承父类的非私有成员(非private修饰)成员

父类的构造方法不能被子类继承,但可以被子类调用(非私有的),且子类的无参构造方法中会默认调用父类的无参构造方法

能发生继承关系的类在逻辑上应该具有一种"is a"的关系

例如:

狗 is a 动物

猫 is a 动物

猪 is a 动物

object类是任何一个父类

1).显示继承Animal:

public class Dog extends Animal{

}

2).3没有显示继承,则隐式继承Object:

public ciass Dog{

}

3).Dog即没有显示继承Object,也没有隐式继承Object,但是间接继承Object:

piblic class Animal{

}

2.点餐系统:

2.1:菜品类:
public class Dish {
    private String name;  //名称
    private Double price;   //价格
    private Integer stock;  //库存数
    private Integer saleNum;   //售出数
    private Integer likeNum;  //点赞数

    public void show(){
        System.out.println("*****************************************");
        System.out.println("名称:"+this.name);
        System.out.print("t价格:"+this.price);
        System.out.print("库存:"+this.stock);
        System.out.print("已售:"+this.saleNum);
        System.out.print("点赞:"+this.likeNum);
        System.out.println("n*****************************************");
    }

    public void saleOut(int n){  //sale方法, 此方法用于点餐功能
        //找到菜品对象的指针后, 用指针调用like方法, 实现点赞数+1
        // 此处注意参数n是售出的份数, 在测试类的点餐方法中会提示用户输入, 然后把用户输入的值传过来, 累加到属性saleNum中
        this.saleNum+=n;  // 此处要注意, 当saleNum为null, +=的时候会报空指针异常
    }
    public void like(){   //like方法, 此方法用于点赞功能
        //找到菜品对象的指针后, 用指针调用like方法, 实现点赞数+1
        this.likeNum++;  // // 此处要注意, 当likeNum为null, ++的时候会报空指针异常
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

    public Integer getStock() {
        return stock;
    }

    public void setStock(Integer stock) {
        this.stock = stock;
    }

    public Integer getSaleNum() {
        return saleNum;
    }

    public void setSaleNum(Integer saleNum) {
        this.saleNum = saleNum;
    }

    public Integer getLikeNum() {
        return likeNum;
    }

    public void setLikeNum(Integer likeNum) {
        this.likeNum = likeNum;
    }
}

2.2设置静态变量

2.3:show方法, 横排打印每个菜品对象信息:
public static void main(String[] args) {
    int choice=0;
    do{
        System.out.println("*****欢迎进入点餐系统*****");
        System.out.println("*****1.菜品展示*****");
        System.out.println("*****2.添加菜品*****");
        System.out.println("*****3.删除菜品*****");
        System.out.println("*****4.菜品数组扩容*****");
        System.out.println("*****5.点餐*****");
        System.out.println("*****6.点赞*****");
        System.out.println("*****7.退出系统*****");
        System.out.println("*****请选择*****");
        choice= sc.nextInt();
        switch (choice){
            case 1:
                display();
                break;
            case 2:
                addDish();
                break;
            case 3:
                deleteDish();
                break;
            case 4:
                dilatation();
                break;
            case 5:
                saleDish();
                break;
            case 6:
                likeDish();
                break;
            case 7:
                break;
            default:
                break;

        }

    }while (choice!=8);
}

2.4 菜品展示使用display()函数

 2.5  添加菜品使用addDish()函数

判断下列函数是不是错的?如果是错的,错在哪?

正确函数:

2.6 删除菜品使用deleteDish()

2.7 菜品数组扩容使用dilatation()

2.8 点餐 使用saleDish()

2.9  点赞使用 likeDish()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1000159.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号