首页 > 编程 > Java > 正文

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

2019-11-08 01:29:33
字体:
来源:转载
供稿:网友

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

例子:写一个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){...}根据相应的类型传入值。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表