“商苑面馆:Java创建对象”的版本间的差异
来自CloudWiki
(→案例2: 设计用户类User) |
|||
(未显示同一用户的3个中间版本) | |||
第1行: | 第1行: | ||
− | + | ==类和对象== | |
类表示一个有共同性质的对象群体,而对象指的是具体的实实在在的物体。 | 类表示一个有共同性质的对象群体,而对象指的是具体的实实在在的物体。 | ||
第14行: | 第14行: | ||
小吃类对象: 炸串,卤蛋,麻辣烫,辣白菜 | 小吃类对象: 炸串,卤蛋,麻辣烫,辣白菜 | ||
− | + | ==类的成员变量和成员方法== | |
类一般由三部分组成:成员变量,成员方法和构造方法。 | 类一般由三部分组成:成员变量,成员方法和构造方法。 | ||
*类的成员变量是用来描述属性信息的,因此大部分成员变量是以名词的形式出现 | *类的成员变量是用来描述属性信息的,因此大部分成员变量是以名词的形式出现 | ||
第35行: | 第35行: | ||
</nowiki> | </nowiki> | ||
+ | ==案例1:面条类== | ||
+ | 在当前项目下新建包entity, 在entity包中新建Noodle(面条)类 | ||
+ | |||
*面馆老板建立Noodle类,为它设计成员变量和成员方法 | *面馆老板建立Noodle类,为它设计成员变量和成员方法 | ||
+ | |||
+ | 写的时候思考: | ||
+ | *'''怎么为类创建无参的构造方法''' | ||
+ | *'''怎么为类创建带参的构造方法 ?并且怎样利用带参的构造方法为成员变量赋值 ?''' | ||
+ | *'''一个类的toString方法应该怎么写?''' | ||
<nowiki>package 小马哥面馆; | <nowiki>package 小马哥面馆; | ||
第58行: | 第66行: | ||
} | } | ||
//成员方法 | //成员方法 | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
//返回订单信息 | //返回订单信息 | ||
public String toString(){ | public String toString(){ | ||
第81行: | 第80行: | ||
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.toString()); | |
− | |||
− | |||
− | |||
− | System.out.println( | ||
} | } | ||
第97行: | 第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()); | ||
− | + | } | |
− | + | }</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()); } }