JAVA_SE基础——25.面向对象练习

黑马程序员入学blog ...


昨晚我写了篇面向对象的内存分析,今天我们来做个小练习。。


需求:

 使用java描述一个车与修车厂两个事物, 车具备的公共属性:轮子数、 名字、 颜色 ,还
具备跑的功能行为。跑之前要检测轮子是否少于了4个,如果少于了4个,那么要送到修车厂修理,
修车厂修理之后,车的轮子数要补回来4个。 然后车就继续的跑起来。


修车厂: 具备公共属性: 名字、 地址、 电话。
公共的行为: 修车。

--------------------------------------------------------------------------------------------------------------

初学者的经典错误:
1. 变量在同一个作用域(大括号)上是可以直接访问的。
2. 如果一个类要访问另外一个类变量时,那么这时候就只能通过创建对象进行访问。(仅对于目前正确)


生气

//车类
class Car{
	
	//事物的公共属性使用成员变量描述	
	String name ; // 名字

	String color; //名字

	int wheel; //轮子数
	
	//事物的公共行为使用函数描述
	public void run(){
		if(wheel>=4){
			System.out.println(name+wheel+"个轮子飞快跑起来..");
		}else{
			System.out.println(name+"不够4个轮子了,赶快去修理");
		}
	}
}

//修车厂
class CarFactory{
	
	String name;//名字
	
	String address ;//地址
	
	String tel;	//电话

	//修车公共行为 ------ 返回值类型、 未知的参数
	public void repair(Car c){
		if(c.wheel>=4){
			System.out.println("告诉你,费了很大力气修好了,给钱");
		}else{
			c.wheel = 4;
			System.out.println("修好了,给钱!!");	
		}
	}
}


class Demo2 
{
	public static void main(String[] args) {		
		//0x98
		Car c = new Car();
		//给车对象赋予属性值
		c.name = "比亚迪";
		c.color = "黑色";
		c.wheel = 4;
		
		for(int i = 0 ; i<100 ; i++){
			c.run();
		}
		c.wheel = 3;
		c.run();

		//创建修车厂对象
		CarFactory f = new CarFactory();
		//给修车厂赋予属性值
		f.name = "集群宝修车厂";
		f.address = "韵泰商业广场一楼";
		f.tel = "020-1234567";
		//调用修车的修车
		f.repair(c);
		c.run();	
	}
}


通过代码的注释 有些基础的同学 应该都能看的懂,如果还不懂请看我的上一章 24.面向对象的内存分析



你可能感兴趣的:(java,面向对象,博客,需求,黑马程序员)