Java面向对象[对象的关联技术]

67 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

问题描述:将手机类定义为人类的属性

1、定义手机类:手机包含操作系统,屏幕尺寸等属性,say()方法;

2、定义人类,人具有姓名,年龄,性别,手机等属性,发短信,打电话,聊微信,say()方法;

3、定义测试类,完成对相关链技术的测试。

public class Phone{
	private String os;
	private double scream;
	
	Phone(){
		System.out.println("我是手机类的无参构造器");
	}
	
	Phone(String os,double scream){
		this.os = os;
		this.scream = scream;
	}
	
	public void setOs(String os){
		this.os = os;
	}
	
	public String getOs(){
		return os;
	}
	
	public void setScream(Double scream){
		this.scream = scream;
	}
	
	public double getScream(){
		return scream;
	}
	
	public String say(){
		return "操作系统: " + os + ",屏幕: " + scream;
	}
}

public class Person{
	
	private String name;
	private int age;
	private String gender;
	private Phone myPhone;
	
	
	Person(){
		System.out.println("我是人类的无参构造器");
	}
	
	Person(String name,int age,String gender,Phone myPhone){
		this.name = name;
		this.age = age;
		this.gender = gender;
		this.myPhone = myPhone;
	}
	
	public void setName(String name){
		this.name = name;
	}
	
	public String getName(){
		return name;
	}
	
	public void setAge(int age){
		this.age = age;
	}
	
	public int getAge(){
		return age;
	}
	
	public void setGender(String gender){
		this.gender = gender;
	}
	
	public String getGender(){
		return gender;
	}
	
	public void setMyPhone(Phone myPhone){
		this.myPhone = myPhone;
	} 
	
	public Phone getMyPhone(){
		return myPhone;
	}
	
	public String say(){
		return "姓名: " + name + ",年龄: " + age + ",性别: " + gender + ",我的手机: " +myPhone.say();
	}
	
	public void call(){
		System.out.println("使用手机[" + myPhone.say() + "]打电话");
	}
	
	public void msg(){
		System.out.println("使用手机[" + myPhone.say() + "]发短信");
	}
	
	public void weChat(){
		System.out.println("使用手机[" + myPhone.say() + "]聊微信");
	}
}

//对象的关联技术

public class PPTest{
	
	public static void main(String[] args){
		
		Phone ph = new Phone("鸿蒙OS",6.6);
		Person pe = new Person("张三",36,"女",ph);
		
		pe.call();
		pe.msg();
		pe.weChat();
		System.out.println(ph.say());
		System.out.println(pe.say());
	}
}