您的位置:首页 > 编程语言 > Java开发

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

2015-08-19 22:05 363 查看
黑马程序员入学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.面向对象的内存分析
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息