【进阶】1.1用类制造对象,1.2定义类(自动售货机),1.3成员变量与成员函数,1.4对象初始化

1.1用类制造对象

请添加图片描述

package shapes;

public class MyPic {
	public static void main(String[] args) 
	{
		Picture pic = new Picture(520,400);//用picture这个类创建了一个名为pic的对象
		Circle c1 = new Circle(320,40,80);//用circle这个类创建了一个名为c1的对象
		Rectangle r1 = new Rectangle(100, 100, 100, 100);
		Triangle t1 = new Triangle(100, 100, 200, 100, 150, 50);
		Line l1 = new Line(0,205,400,205);
		Circle c2 = new Circle(200,200,50);
		pic.add(c1);//将c1加入pic中
		pic.add(r1);//将r1加入pic中
		pic.add(t1);
		pic.add(l1);
		pic.add(c2);
		pic.draw();	
	}
}

请添加图片描述

1.2定义类(自动售货机)

请添加图片描述

package vendingmachine;

public class VedingMachine {
	
	//定义了有三个属性(例如:price),四个动作(例如:showprompt)
	int price=80;//物品价格
	int balance;
	int total;//每天卖出的总额
		
	void showPrompt()//提示信息
	{
		System.out.println("Welcome");
	}
	void insertMoney(int amount)//投入钱amount
	{
		balance = balance + amount;
	}
	void showBalance()//一共投入多少钱
	{
		System.out.println(balance);
	}
	void getFood()//卖东西
	{
		if(balance >= price)//钱够了,卖东西
		{
			System.out.println("Here you are.");
			balance = balance - price;
			total  = total + price;
		}
		
	}
	public static void main(String[] args) {
		//定义了VedingMachine这个类,VedingMachine此刻和int一样,是一个类
		//用VedingMachine 创建一个名为vm的对象 
		VedingMachine vm = new VedingMachine();
		
		//用vm做我们之前设计出来的动作:showPrompt、showBalance、insertMoney等等
		vm.showPrompt();
		vm.showBalance();
		vm.insertMoney(100);
		vm.getFood();
		vm.showBalance();
		
		//用VedingMachine 创建一个名为vm1的对象
		VedingMachine vm1 = new VedingMachine();
		vm1.insertMoney(200);
		vm1.showBalance();

	}

}


结果:
Welcome
0
Here you are.
20
200

1.3成员变量与成员函数

请添加图片描述

  1. 成员变量
成员变量
int price=80;//物品价格
int balance;
int total;//每天卖出的总额

this.price 指VedingMachine内部定义的price(80),price指 int price

	void setPrice(int price)
	{
		this.price = price;
//this.price 指VedingMachine内部定义的price(80),price指 int price
	}
VedingMachine vm = new VedingMachine();

//用vm做我们之前设计出来的动作:showPrompt、showBalance、insertMoney等等
vm.showPrompt();
vm.setPrice(200);//输入200,将价格price赋值为为200
  1. 成员函数

请添加图片描述

如果想在insertMomeny里用showBalance,不用" this. ",因为这是在成员函数内部调用另一个成员函数,而在外部调用,必须通过对象去调用。

void insertMoney(int amount)//投入钱amount
{
	balance = balance + amount;
	showBalance();//不需要this
}
vm.showPrompt();//通过对象去调用

1.4对象初始化

本地变量必须给储值才能使用
成员变量不给初值也能正常使用,会默认给零值;也可以用构造函数赋值。
请添加图片描述
请添加图片描述

构造函数有两种形式,一种带参数,另一种不带参数。
调用的时候会根据是否给出参数来进行调用,即函数重载
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值