java 面向对象(封装 组合 抽象类 接口)封装组合

Posted sonya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 面向对象(封装 组合 抽象类 接口)封装组合相关的知识,希望对你有一定的参考价值。

1.组合+构造方法  赋值 

  组合有两种:一个类作为另一个类的属性变量  一个类的对象类型作为另一个类方法的参数

组合的目的:方法的复用(可以使用别的类的方法) 比继承耦合度低。

代码:

 

//测试类

package edu.xust.oo;
//面向对象复习 oo
//
public class TextMain {
 //赋值可以通过setname进行赋值,或用有参的构造方法进行赋值
 public static void main(String[] args) {
  //1.组合+构造方法  赋值
   Driver dr=new Driver();
  Vehicle ve=new Vehicle();
  Destination de=new Destination("成都");//直接在构造方法里写参数进行赋值
   ve.setName("自行车");
   dr.run(ve, de);
 }
}

 

//Driver类

package edu.xust.oo;public class Driver {
 private String name;
 private Vehicle ve;//  vehicle作为属性变量  第一种组合
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public Vehicle getVe() {
  return ve;//取出来的是vehicle的对象 
 }
 public void setVe(Vehicle ve) {
  this.ve = ve;
 }
 //
 public  void run(Vehicle ve,Destination de){//第二种组合
  System.out.println("利用了交通工具"+ve.getName()+"目的地"+de.getName());
 }
}
 
//Destination类
 
package edu.xust.oo;
public class Destination {
 private String name;//私有的别人不能用,别人想使用的话要通过getname‘ setname取用
 //构造方法:属性变量的初始化
 public Destination(){
  
 }
 public Destination(String name) {
  super();//调用父类构造方法·,通过super.
  this.name = name;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
}
 
//Vehicle类
 
package edu.xust.oo;
public class Vehicle {
 String name;
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
}

以上是关于java 面向对象(封装 组合 抽象类 接口)封装组合的主要内容,如果未能解决你的问题,请参考以下文章

TypeScript,面向对象,类、构造函数、继承、抽象类、接口和封装

Python_015(面向对象(接口类,抽象类,多态,封装)

Java语言简介基础组成封装继承多态抽象类内部类接口

Java语言简介基础组成封装继承多态抽象类内部类接口

026 面向对象05——封装

php面向对象 封装继承多态 接口重载抽象类最终类总结