什么叫多类合作

文章介绍了Java编程中类与类之间的合作,通过实例展示了如何将一个类的对象作为另一个类的属性,以及如何进行赋值和取值操作。同时,讨论了多类合作不是继承关系,并给出了私有化属性的例子,强调了封装的重要性。
摘要由CSDN通过智能技术生成

1.多类合作

简单说就是: 一个类对象可以作为另外一个类的属性.比如:主人常威养了条狗 ,狗的名字叫来福.

可以这么写: person.dog.name="来福";

下面举一个例子:

package com.qf.d;

class  Person{
String name;
int age;
Dog dog;
}
class Dog{
String name;
int age;
String  color;
}

public class Demo1 {
public static void main(String[] args) {
Person person =new Person();
Dog dog=new Dog();
person.name="常威";
person.age=12;
dog.name="来福";
dog.age=1;
dog.color="黑色";
person.dog=dog;
System.out.println(person.dog.name+person.dog.color+person.dog.age);
}
}

2.多类合作进一步扩展

注意: 多类合作不是继承关系,没有extends关键字.

实例化对象时,一般都是从下往上.

下面是非私有化的多类合作使用的案例

class Adult {//成年人类
String  name;
int age;
//有一个孩子的属性
Child child;

}
class Child {//孩子类
String name;
//可以有玩具
Toy toy;
}
class Toy {//玩具类
String name;//玩具的名字
String kind;//玩具种类
double price;//玩具价格

}
public class Demo1 {
public static void main(String[] args) {
Toy toy = new Toy();
toy.name = "加特林";
toy.kind = "玩具枪";
toy.price = 200;
Child child = new Child();
//对child进行赋值
child.name = "小邢";
child.toy = toy;
Adult adult = new Adult();
//对adult进行赋值
adult.name = "老邢";
adult.age = 89;
//this.name = name;
adult.child = child;

//以上都是在赋值
//以下是取值
//让你通过成年人去获取玩具的价格
System.out.println("玩具的价格为:" + adult.child.toy.price);
}
}

私有化 多类合作的案例:

package com.qf.d;
class Person{
private String name;
private Child child;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Child getChild() {
return child;
}
public void setChild(Child child) {
this.child = child;
}

}
class Child{
private String name;
private Toy toy;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Toy getToy() {
return toy;
}
public void setToy(Toy toy) {
this.toy = toy;
}

}
class Toy{
private String name;
private String color;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}

}
public class Demo1 {
public static void main(String[] args) {
Toy toy=new Toy();
toy.setName("葫芦娃");
toy.setColor("蓝色");
Child child =new Child();
child.setName("小明");
child.setToy(toy);
Person person =new Person();
person.setName("阿三");
person.setChild(child);
System.out.println("成年人的名字为:"+person.getName()+", 孩子的名字是:"+person.getChild().getName()+",  孩子玩具的名字是:"+person.getChild().getToy().getName()+", 颜色为:"+person.getChild().getToy().getColor());

}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值