再看java中的组合(工作中80%的使用模式)

上一篇博客内容是组合的基本应用,有些地方还是比较欠缺的,经过我许久的练习结合各种的实例,最终对组合有了深一层次的认知。

例子:写一个56岁的张思驾驶蓝色45万元的车去具有90人口地址在南京市浦口区的公司。(例子有点粗糙,但是话糙理不糙)。首先我们从这句话中可以抽象出三个类。Person类和Car类,还有Company类。第一步就是定义每个类的属性和方法。他们是这样组合的,Person类中应该包含toSchool()方法(其实应是toCompany()方法,写错啦,代码也不改了。)、而该方法内部应该包含Car类的一个方法。即drive();方法。可以这样想,你是张思,你要去学校,这在Person类中应该包含这个去学校的方法。而你要去学校,那需要工具吧,此时需要调用Car类中的方法drive()方法。这时候你可以开车了。但是你不能没有目的吧。顺其自然的我们会想到,还有一个Company类,该类中应该包含了要去的地方和该地方的一些属性。此时需要将Company,的一些属性传入到drive方法内部。然后在main方法内创建一个Person类的实例对象调用toSchool()方法。这样一个完整的程序就完成了。其中包含了一些初始化的方法,这个是需要根据个人的喜好去使用的。下面就是我的代码段。

 
public class Person {
int age ;
String name;
String adds;
Car car;
Person (int age,String name){
this.age = age;
this.name = name;
}
public void toCompany (Car car) {
car.color ="蓝色";
car.price =45;
System.out.print(age+"岁的"+name+"驾驶"+car.color+"的车");
//传入Car的实例。调用Car实例对象的方法和属性。
Company c1 = new Company("南京市",90);
car.drive(c1);
}
}

 

 
public class Car {
String color;
int price;
public void drive (Company c) {
System.out.print("去"+"具有"+c.num+"人口"+"地址在"+c.companyAdds+"的公司");
}
}

 


public class Company {
String companyAdds;
int num;
public Company (String companyAdds,int num) {
this.companyAdds = companyAdds;
this.num = num;
}
}public class Test {
public static void main(String[] args) {
Person p = new Person(56,"张思");
Car a = new Car();
p.toCompany(a= new Car());

}
}
 
 
其中包含了给每个类的属性的方法赋值的过程,调用含有参数的构造函数。在赋值和初始化的过程。记住一个准则。类类型定义的变量,默认为空值,要想通过他调用其类中对象的属性和方法。那就必须要使用new关键字。(static修饰的除外)。在Person类中定义一个Car类型的变量。同样可以通过Person构造函数将(int a,String name, Car car){...}根据相应的类型传入值。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值