Java任务:建立商品对象

来自CloudWiki
跳转至: 导航搜索

任务描述

  • 餐品是商院面馆管理系统中最重要的商品。
  • 所有餐品都具有名称、价格、数量等属性。
  • 本任务要求使用Java语言建立“面条类”作为模板,描述面条作为商品的共有属性,并创建面条对象(实例)来管理系统中每碗面条的数据。
  • Ai2020-4-20.png

任务实现:建立商品对象

创建项目Noodles

创建包和类

  • 在包创建对话框中,输入包名 com.shangzhi.entity,点击 finish按钮,完成包的创建
  • 在包com.shangzhi.entity1上点击右键,选择菜单 New-Class 创建类
  • 输入类名Noodles,勾选红框内的复选框(包含main方法),点击Finish按钮完成Noodles类创建

public class Noodles {
		
	
	
	public static void main(String[] args) {        
        
	}

}

通过类创建对象

在main方法中通过类创建对象:

 Noodles n1;
 n1= new Noodles();//声明一个Noodle类的对象n1  

为类添加成员变量

  • 在Noodles类中插入代码,增加名称、价格、数量,注意选择合适的数据类型
       
public class Noodles {
	        //商品的名称
		public String name;
		//商品的价格
		public float price;
		//商品的数量,
		public int num;	

		public Noodles() {
			
		}
		
		public static void main(String[] args) {
			// TODO Auto-generated method stub
	                
	            //处理
	            Noodles n1= new Noodles();//声明一个Noodle类的对象n1
	              
				
		}

}

在main方法中读写这几个变量:

 

  public static void main(String[] args) {
                //处理
	        Noodles n1= new Noodles();//声明一个Noodle类的对象n1
	        n1.name=name;//给变量赋值
	        n1.price = 10;//给变量赋值
	        n1.num = num;//给变量赋值
	        
	        //输出
	        System.out.print("您点的是"+n1.name);//打印变量
	        System.out.print(" 价格:"+n1.price);//打印变量
	        System.out.println(" 数量"+ n1.num);//打印变量 	
}

为类添加构造方法

  • 在 Noodles类中插入代码,增加包含空构造方法、包含6个参数的构造方法,方便将来创建图书对象
    //空构造方法	
	public Noodles(){
		
    }
	public Noodles(String n) {
		this.name = n;
	}
	public Noodles(String n,float p) {
		this.name = n;
		this.price = p;
	}
	public Noodles(String n,float p,int num) {
		this.name = n;
		this.price = p;
		this.num = num;
	}


在main方法中尝试通过构造方法创建对象:

Noodles n2= new Noodles("老北京牛肉面",15.0f,3);
System.out.println(n2.toString());//打印变量 

添加成员方法

  • 在Noodles类中插入代码,增加成员方法getPrice和setPrice
        public float getPrice( ){
	    System.out.println("该商品的价格为 : " + price); 
	    return price;
	}
	public void setPrice(float p) {
		this.price =p;
	}

  • 在 Noodles 类中插入代码,增加toString()方法,用于将面品信息转化为字符串,方便将来输出面品对象信息
public String toString() {
		String str ="商品名称:"+this.name+ 
				    " 价格:"+this.price+
				    " 数量:"+ this.num;
		return str;
	}

在main类中创建对象

  • 在本类的main 方法中插入代码,分别利用两个构造方法(无参和带参)创建图书对象b1和b2,并在控制台输出图书信息
public static void main(String[] args) {
                 Noodles n1;
                n1= new Noodles();//声明一个Noodle类的对象n1  
                n1.name=name;//给变量赋值
	        n1.price = 10;//给变量赋值
	        n1.num = num;//给变量赋值
	        
	        //输出
	        System.out.print("您点的是"+n1.name);//打印变量
	        System.out.print(" 价格:"+n1.price);//打印变量
	        System.out.println(" 数量"+ n1.num);//打印变量 	
                float s= n1.getPrice();
                System.out.println("第一份商品原价为:");
                System.out.println(s);//打印变量
                n1.setPrice(15.0f);
                System.out.println("第一份商品调价:");
                System.out.println(n1.toString());//打印变量

                Noodles n2= new Noodles("老北京牛肉面",15.0f,3);
                System.out.println(n2.toString());//打印变量


	}
}
  • 点击运行该程序,查看输出结果

练习:建立用户类User

商院面馆网站建了一个用户类,仿照商品类,为它建立成员变量、构造方法、成员方法,并在main方法中创建对象调用他们。


public class User {
    public String name;
    public String pwd;
    
    public User() {
    	
    }
    public User(String n,String p) {
    	this.name = n;
    	this.pwd = p;
    }
    public void setName(String name) {
    	this.name = name;
    }
    public void setPwd(String pwd) {
    	this.pwd = pwd;
    }
 
    public String toString() {
    	String s="";
    	s= "姓名:"+this.name + " 密码:" +this.pwd;
    	return s;
    }
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		User u1 =  new User();
		u1.setName("wangli");u1.setPwd("000000");
		System.out.println(u1.toString());
		User u2 = new User("chenming","123456");
		System.out.println(u2.toString());     

	}

}

完整代码

public class Noodles {
	//商品的名称
	public String name;
	//商品的价格
	public float price;
	//商品的数量,
	public int num;
	
	//空构造方法	
	public Noodles(){
		
    }
	public Noodles(String n) {
		this.name = n;
	}
	public Noodles(String n,float p) {
		this.name = n;
		this.price = p;
	}
	public Noodles(String n,float p,int num) {
		this.name = n;
		this.price = p;
		this.num = num;
	}

	public float getPrice( ){
	   // System.out.println("该商品的价格为 : " + price); 
	    return price;
	}
	public void setPrice(float p) {
		if(p<=0) {
			System.out.println("价格必须为正!");
		}else {
		    this.price =p;
		}
	}

	public String toString() {
		String str ="名称"+this.name+ 
				    " 价格:"+this.price+
				    " 数量:"+ this.num;
		return str;
	}
	public static void main(String[] args) {  

                Noodles n1;
                n1= new Noodles();//声明一个Noodle类的对象n1  
                n1.name=name;//给变量赋值
	        n1.price = 10;//给变量赋值
	        n1.num = num;//给变量赋值
	        
	        //输出
	        System.out.print("您点的是"+n1.name);//打印变量
	        System.out.print(" 价格:"+n1.price);//打印变量
	        System.out.println(" 数量"+ n1.num);//打印变量 	
                float s= n1.getPrice();
                System.out.println("第一份商品原价为:");
                System.out.println(s);//打印变量
                n1.setPrice(15.0f);
                System.out.println("第一份商品调价:");
                System.out.println(n1.toString());//打印变量

                Noodles n2= new Noodles("老北京牛肉面",15.0f,3);
                System.out.println(n2.toString());//打印变量
        }
}