“商苑面馆:Java创建对象”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
案例2: 设计用户类User
 
(未显示2个用户的5个中间版本)
第1行: 第1行:
====类和对象====
+
==类和对象==
 
类表示一个有共同性质的对象群体,而对象指的是具体的实实在在的物体。
 
类表示一个有共同性质的对象群体,而对象指的是具体的实实在在的物体。
  
第14行: 第14行:
 
   小吃类对象: 炸串,卤蛋,麻辣烫,辣白菜
 
   小吃类对象: 炸串,卤蛋,麻辣烫,辣白菜
  
====类的成员变量和成员方法====
+
==类的成员变量和成员方法==
 
类一般由三部分组成:成员变量,成员方法和构造方法。
 
类一般由三部分组成:成员变量,成员方法和构造方法。
 
*类的成员变量是用来描述属性信息的,因此大部分成员变量是以名词的形式出现
 
*类的成员变量是用来描述属性信息的,因此大部分成员变量是以名词的形式出现
第31行: 第31行:
 
   数量
 
   数量
  
   预定订单;
+
   增加订单;
   取消订单;
+
   削减订单;
   查看订单;
+
   </nowiki>
  修改订单;
 
  投诉店家;</nowiki>
 
 
    
 
    
 +
==案例1:面条类==
 +
在当前项目下新建包entity, 在entity包中新建Noodle(面条)类
 +
 
*面馆老板建立Noodle类,为它设计成员变量和成员方法
 
*面馆老板建立Noodle类,为它设计成员变量和成员方法
 +
 +
写的时候思考:
 +
*'''怎么为类创建无参的构造方法'''
 +
*'''怎么为类创建带参的构造方法 ?并且怎样利用带参的构造方法为成员变量赋值 ?'''
 +
*'''一个类的toString方法应该怎么写?'''
  
 
  <nowiki>package 小马哥面馆;
 
  <nowiki>package 小马哥面馆;
第60行: 第66行:
 
}
 
}
 
//成员方法
 
//成员方法
//预定订单;
+
 
public void buy(String name,int num){
+
        //返回订单信息
this.name =name;
+
public String toString(){
this.num = num;
+
          return "名称:" +this.name+"价格:"+
+
              this.price + "数量: " + this.num;
}
+
        }
//取消订单;
 
public void cancel(String name,int n){
 
this.name =name;
 
this.num = this.num -n;
 
}
 
//查看订单;
 
public String lookup( ){
 
String s ="您订购的面是:\r\n";
 
s    = "品名:"+ this.name  
 
+" 价格:"+ this.price
 
+" 数量: "+ this.num;
 
return s;
 
}  
 
  
 
public static void main(String[] args) {
 
public static void main(String[] args) {
 
// TODO Auto-generated method stub
 
// TODO Auto-generated method stub
Noodle n1= new Noodle();
+
        //调用成员变量
 +
Noodle n1= new Noodle();
 
         n1.name="手擀面";
 
         n1.name="手擀面";
 
         n1.price = 10;
 
         n1.price = 10;
 
         n1.num = 2;
 
         n1.num = 2;
         System.out.println("您订的面是"+n1.name);
+
         System.out.println("您订的面是"+n1.name);      
         System.out.println("价格:"+n1.price);
+
         //调用成员方法
         System.out.println("数量"+ n1.num);
+
         System.out.println(n1.toString());
       
 
        Noodle n2 = new Noodle("炸酱面",12,3);
 
        System.out.println("您订的面是"+n2.name);
 
        System.out.println("价格:"+n2.price);
 
        System.out.println("数量"+ n2.num);
 
       
 
        Noodle n3 = new Noodle();
 
        n3.buy("油泼面",2);
 
        n3.cancel("油泼面",1);
 
        String s2 =n3.lookup();
 
        System.out.println(s2);
 
 
          
 
          
 
}
 
}
第106行: 第89行:
 
</nowiki>
 
</nowiki>
  
练习:怎样设计小吃类和饮料类
+
==案例2: 设计用户类User==
 +
在当前项目下新建包entity, 在entity包中新建用户类User
 +
 
 +
思考:
 +
*怎样用无参的构造方法构造一个对象
 +
*怎样给一个类的成员变量赋值 ?
 +
*怎样输出一个类的全部信息 ?
 +
<nowiki>package entity;
 +
 
 +
public class User {
 +
 
 +
//成员变量
 +
public String name;
 +
public String password;
 +
 
 +
 +
//构造方法
 +
public User(){
 +
 +
}
 +
public User(String name,String password ){
 +
 +
this.name=name;
 +
 +
this.password=password;
 +
 +
 +
}
  
对本节有任何问题,可以在这个在线文档中留言:
+
 +
//成员方法
 +
 +
public String toString(){
 +
      return "名字:" +this.name+"密码:"+
 +
              this.password;
 +
  }
 +
public static void main(String[] args) {
 +
// TODO Auto-generated method stub
 +
            User u1= new User();
 +
            u1.name="王二狗";
 +
            u1.password="137927";     
 +
            System.out.println("会员姓名是:"+u1.name);   
 +
            System.out.println(u1.toString());
 +
 
 +
}
  
https://docs.qq.com/doc/DUFdkcnl0aW1wQklM
+
}</nowiki>

2019年5月20日 (一) 14:04的最新版本

类和对象

类表示一个有共同性质的对象群体,而对象指的是具体的实实在在的物体。

类与对象的关系就如模具和铸件的关系,类是创建对象的模具,而对象则是由类这个模板制作出来的铸件

  • 举例来说,面馆按产品分类,可以分为几类?
 面类,饮料类,小吃类
  • 每一类有什么具体的产品(对象)?
 面类的对象: 火鸡面,炸酱面,刀削面,油泼面
 饮料类对象: 可乐,雪碧,芬达,啤酒,江小白
 小吃类对象: 炸串,卤蛋,麻辣烫,辣白菜

类的成员变量和成员方法

类一般由三部分组成:成员变量,成员方法和构造方法。

  • 类的成员变量是用来描述属性信息的,因此大部分成员变量是以名词的形式出现
  • 类的方法又被称为成员方法(函数),用来描述动作、行为和功能,是一段完成某种功能或操作的代码段
  • 构造方法的作用是创建一个对象并对其完成初始化。

以面馆的面类产品为例:

面类:

  名称;
  类别:(干面,汤面,炒面)
  价格;
  份量;
  口味;
  数量

  增加订单;
  削减订单;
  
 

案例1:面条类

在当前项目下新建包entity, 在entity包中新建Noodle(面条)类

  • 面馆老板建立Noodle类,为它设计成员变量和成员方法

写的时候思考:

  • 怎么为类创建无参的构造方法
  • 怎么为类创建带参的构造方法 ?并且怎样利用带参的构造方法为成员变量赋值 ?
  • 一个类的toString方法应该怎么写?
package 小马哥面馆;

public class Noodle {
	//成员变量
	//名称
	public String name;
	//价格
	public double price;
	//数量
	public int num;
	
	/*构造方法*/
	public Noodle(){
		
	}
	public Noodle(String name,double price,int num){
		this.name = name;
		this.price = price;
		this.num = num;
	}
	//成员方法

        //返回订单信息
	public String toString(){
       	    return "名称:" +this.name+"价格:"+
               this.price + "数量: " + this.num;
        }

	public static void main(String[] args) {
		// TODO Auto-generated method stub
        //调用成员变量
	Noodle n1= new Noodle();
        n1.name="手擀面";
        n1.price = 10;
        n1.num = 2;
        System.out.println("您订的面是"+n1.name);        
        //调用成员方法
        System.out.println(n1.toString());
        
	}

}

案例2: 设计用户类User

在当前项目下新建包entity, 在entity包中新建用户类User

思考:

  • 怎样用无参的构造方法构造一个对象 ?
  • 怎样给一个类的成员变量赋值 ?
  • 怎样输出一个类的全部信息 ?
package entity;

public class User {

	//成员变量
	public String name;
	public String password;

	
	//构造方法
	public User(){
		
	}
	public User(String name,String password ){
		
		this.name=name;
		
		this.password=password;
		
		
	}

	
	//成员方法
	
	 public String toString(){
	      	return "名字:" +this.name+"密码:"+
	              this.password;
	   }
	public static void main(String[] args) {
		// TODO Auto-generated method stub
             User u1= new User();
             u1.name="王二狗";
             u1.password="137927";       
             System.out.println("会员姓名是:"+u1.name);     
             System.out.println(u1.toString());

	}

}