“商苑面馆:Java类的继承”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
(创建页面,内容为“Food类: <nowiki> public class Food { //成员变量 //名称 private String name; //价格 private double price; //数量 private int num; /*构造方…”)
 
第1行: 第1行:
 +
==核心知识点===
 +
*继承就是子类继承父类的特征和行为,使得代码能够复用;
 +
*声明继承之后,子类就可以使用父类所有的变量和方法;
 +
*如果有变量和方法父类当中不存在,子类可以自己定义。
 +
 +
==步骤==
 +
===定义一个父类===
 +
定义一个父类,并把子类当中公共的属性和方法定义到里面:
 +
 +
Food类:
 +
 +
<nowiki>
 +
public class Food {
 +
//成员变量
 +
//名称
 +
private String name;
 +
//价格
 +
private double price;
 +
//数量
 +
private int num;
 +
 +
/*构造方法*/
 +
public Food(){
 +
 +
}
 +
public Food(String name,double price,int num){
 +
this.name = name;
 +
this.price = price;
 +
this.num = num;
 +
}
 +
 +
//成员方法
 +
public String getName(){
 +
return this.name;
 +
}
 +
public double getPrice(){
 +
return this.price;
 +
}
 +
public int getNum(){
 +
return this.num;
 +
}
 +
//写方法
 +
public boolean setName(String s){
 +
this.name = s;
 +
return true;
 +
}
 +
public boolean setPrice(double p){
 +
    this.price = p;
 +
    return true;
 +
}
 +
public boolean setNum(int n){
 +
    this.num = n;
 +
    return true;
 +
}
 +
 
 +
public String toString(){
 +
    return "名称:" +this.name+"价格:"+
 +
              this.price + "数量: " + this.num;
 +
}
 +
 +
public static void main(String[] args) {
 +
// TODO Auto-generated method stub
 +
 +
}
 +
 +
}
 +
 +
</nowiki>
 +
 +
===子类增添extends关键字===
 +
 +
public class Noodle extends Food {
 +
...
 +
}
 +
 +
===写子类的构造方法===
 +
 +
public Noodle(String name,double price,int num){
 +
super(name,price,num);
 +
}
 +
 +
===编写子类里面独有的成员和方法===
 +
 +
 +
子类的构造方法,调用父类的构造方法:
 +
 +
===在父类的main方法里验证===
 +
 +
==代码==
 +
 +
 
Food类:
 
Food类:
  

2019年4月17日 (三) 02:14的版本

核心知识点=

  • 继承就是子类继承父类的特征和行为,使得代码能够复用;
  • 声明继承之后,子类就可以使用父类所有的变量和方法;
  • 如果有变量和方法父类当中不存在,子类可以自己定义。

步骤

定义一个父类

定义一个父类,并把子类当中公共的属性和方法定义到里面:

Food类:

public class Food {
	//成员变量
	//名称
	private String name;
	//价格
	private double price;
	//数量
	private int num;
	
	/*构造方法*/
	public Food(){
		
	}
	public Food(String name,double price,int num){
		this.name = name;
		this.price = price;
		this.num = num;
	}
	
	//成员方法
	public String getName(){
		return this.name;
	}
	public double getPrice(){
		return this.price;
	}
	public int getNum(){
		return this.num;
	}
	//写方法
	public boolean setName(String s){
		this.name = s;
		return true;
	}
	public boolean setPrice(double p){
	    this.price = p;
	    return true;
	}
	public boolean setNum(int n){
	    this.num = n;
	    return true;
	}
	   
	public String toString(){
	    return "名称:" +this.name+"价格:"+
	               this.price + "数量: " + this.num;
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}


子类增添extends关键字

public class Noodle extends Food { ... }

写子类的构造方法

public Noodle(String name,double price,int num){ super(name,price,num); }

编写子类里面独有的成员和方法

子类的构造方法,调用父类的构造方法:

在父类的main方法里验证

代码

Food类:

public class Food {
	//成员变量
	//名称
	private String name;
	//价格
	private double price;
	//数量
	private int num;
	
	/*构造方法*/
	public Food(){
		
	}
	public Food(String name,double price,int num){
		this.name = name;
		this.price = price;
		this.num = num;
	}
	
	//成员方法
	public String getName(){
		return this.name;
	}
	public double getPrice(){
		return this.price;
	}
	public int getNum(){
		return this.num;
	}
	//写方法
	public boolean setName(String s){
		this.name = s;
		return true;
	}
	public boolean setPrice(double p){
	    this.price = p;
	    return true;
	}
	public boolean setNum(int n){
	    this.num = n;
	    return true;
	}
	   
	public String toString(){
	    return "名称:" +this.name+"价格:"+
	               this.price + "数量: " + this.num;
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}


面条类:

public class Noodle extends Food {
	
	/*构造方法*/
	public Noodle(){
		
	}
	public Noodle(String name,double price,int num){
		super(name,price,num);
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		        
        Noodle n2 = new Noodle("炸酱面",12,3);
        System.out.println("您订的面是"+n2.getName());
        System.out.println("价格:"+n2.getPrice());

        
       
        
	}

}



小吃类:


public class SmallEat extends Food{

    private String flavor;
    SmallEat(){
    	
    }
    SmallEat(String name,double price,int num){
    	super(name,price,num);
    }
public String toString(){
	    return "名称:" + getName()+"价格:"+
	               getPrice() + "数量: " + getNum() + "口味:"+ flavor;
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
        SmallEat s = new SmallEat("鹌鹑蛋",3,2);
        System.out.println(s.toString());
	}

}