「java类的组合」java类的组合应用圆锥类接口方法

博主:adminadmin 2023-01-10 15:33:10 1654

本篇文章给大家谈谈java类的组合,以及java类的组合应用圆锥类接口方法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

JAVA中的聚集和组合的区别与联系

聚合(Aggregation) 关系是关联关系的一种,是强的关联关系。聚合是整体和个体之间的关系。例如,汽车类与引擎类、轮胎类,以及其它的零件类之间的关系便整体和个体的关系。与关联关系一样,聚合关系也是通过实例变量实现的。但是关联关系所涉及的两个类是处在同一层次上的,而在聚合关系中,两个类是处在不平等层次上的,一个代表整体,另一个代表部分

组合(Composition) 关系是关联关系的一种,是比聚合关系强的关系。它要求普通的聚合关系中代表整体的对象负责代表部分对象的生命周期,组合关系是不能共享的。代表整体的对象需要负责保持部分对象和存活,在一些情况下将负责代表部分的对象湮灭掉。代表整体的对象可以将代表部分的对象传递给另一个对象,由后者负责此对象的生命周期。换言之,代表部分的对象在每一个时刻只能与一个对象发生组合关系,由后者排他地负责生命周期。部分和整体的生命周期一样。

以上关系的耦合度依次增强(关于耦合度的概念将在以后具体讨论,这里可以暂时理解为当一个类发生变更时,对其他类造成的影响程度,影响越小则耦合度越弱,影响越大耦合度越强)。由定义我们已经知道,依赖关系实际上是一种比较弱的关联,聚合是一种比较强的关联,而组合则是一种更强的关联,所以笼统的来区分的话,实际上这四种关系、都是关联关系。

聚合关系是是一种比较强的关联关系,java中一般使用成员变量形式实现。对象之间存在着整体与部分的关系。例如上例中

pre t="code" l="java"class Driver {

//使用成员变量形式实现聚合关系

Car mycar;

public void drive(){

mycar.run();

}

}假如给上面代码赋予如下语义:车是一辆私家车,是司机财产的一部分。则相同的代码即表示聚合关系了。聚合关系一般使用setter方法给成员变量赋值。

假如赋予如下语义:车是司机的必须有的财产,要想成为一个司机必须要先有辆车,车要是没了,司机也不想活了。而且司机要是不干司机了,这个车就砸了,别人谁也别想用。那就表示组合关系了。一般来说,为了表示组合关系,常常会使用构造方法来达到初始化的目的,例如上例中,加上一个以Car为参数的构造方法 pre t="code" l="java"public Driver(Car car){

mycar = car;

}所以,关联、聚合、组合只能配合语义,结合上下文才能够判断出来,而只给出一段代码让我们判断是关联,聚合,还是组合关系,则是无法判断的。/ol

JAVA 中集合和组合是一个意思么?

composition 是组合,指的是类与类之间的关系,几种常见的关系有,继承,组合,关联,聚合,依赖等...

collections 是集合,是指容器,常见的子类接口有,List,Map。简单来说,就是用来装其它东西的,被装东西可以是基础类型的数据...

Java中类的组合和继承 请详细叙述这两种方法

组合类意思是

public class A {

}

public class B{

private A a; //拿A做有元变量

}

继承是指:

public class A {

public void ddd(){

}

}

public class B extends A {

//它就能通过super.ddd()来拿父类A的方法

}

java中类与类之间的关系讲解

1.关联

关联即对象与对象之间的连接。java类之间的关联是一个类的作为另一个的属性被定义,即“has-a”的关系。关联又分为组合与聚合两种。示例如下:

//两个类之间的聚合public class Car{}public class Person{

private Car car;

}//两个类之间的组合public class Car{}public class Person{

private Car car=new Car();//创建一个Car对象}123456789101112

关联又分为单向关联与双向关联,以上代码为单向关联(Person类关联Car类),双向关联(Person类关联Car类,同时Car类关联Person类)代码如下:

public class Car{

private Person per;

}public class Person{

private Car car;

}123456

类之间的关联,可以一对一的关联,也可以一对多的关联。

2.依赖

依赖的具体表现是将一个类的对象当做方法参数传给另一个类的方法,是一种use-a的关系。如:

public class Person{

public void dirve(Car car){

}

}1234

关联与依赖的区别在于:关联是has-a的关系,依赖是use-a的关系;而且关联中Person关联Car,只要Person类对象存在,Car对象就存在;依赖中只有Person类对象调用到dirve()方法时,Car对象才会被创建,方法执行结束后,Car对象就被收回。

3.继承

类与类的另一个关系是继承。继承是一个类的定义基于另一个存在的类,即子类基于父类,如此可实现代码的重用,子类能够继承父类可访问的方法、属性,并能扩展新的能力,而且子类可重写父类方法以满足子类需要。在继承中子类可调用父类的构造方法,子类构造方法总是先调用父类的构造方法,而且默认情况下调用父类的无参构造方法,在子类构造方法的第一行使用super关键字即可调用父类构造方法。示例代码如下:

public class Point {

private double x; private double y; public double getX() { return x;

} public void setX(double x) { this.x = x;

} public double getY() { return y;

} public void setY(double y) { this.y = y;

} //无参构造方法

public Point() {

} //有参构造方法

public Point(double x, double y) { this.x = x; this.y = y;

} //draw()方法

public void draw(){

}

}public class Circle extends Point {

private double r; public double getR() { return r;

} public void setR(double r) { this.r = r;

} //有参构造方法

public Circle(double x, double y) { super(x, y);

} public void draw() {

System.out.println("半径为:" + this.r + " x坐标为:" + getX() + " y坐标为:" + getY() + "的圆绘制成功!");

}

}public class Test {

public static void main(String[] args) {

Circle circle = new Circle(2, 3);

circle.setR(3);

circle.draw();

}

}

java中什么叫组合

组合就是 A类的对象是B类的成员变量。相当于 A类是B类对象的一个属性!

组合和继承都很常见的!

JAVA中为什么有时一个类要用两个组合的方法?SET和GET,也可以用右键自动生成的那种!!求解

使用Getter和Setter是实现面向对象思想的重要一部分。

面向对象三大要素,封装,继承,多态。

封装就是把关联紧密的部分当成一个整体进行操作。把很多属性,都变成对象内部的。

getter就是外部从对象内部取出数据,

setter就是外部向内部输入数据。

有一些外部对象是可以从对象内部取数据的,但是不能往里面放数据。

有一些外部对象是可以向对象内部放数据的,但是不能取里面的数据。

我们可以通过Getter和Setter进行控制。

就好像人体,有胃,有肠子。都是用来消化食物的。正常来说(不考虑某些变态),都是从嘴巴吃东西吧。虽然这些食物最后会到胃,肠子里,我们也不能直接开刀,往胃里放东西。

面向对象里的对象,可以看成人。如果你要往里面放东西,必须调用Setter。不能把对象肢解了,放进去。因为我很有可能要对你的数据进行加工之后,再存储。你不能蛮干。

Getter也是,食物处理完了。变成便便。你要取出来,不能直接从肠子里拿出来把。还是得从屁屁出来吧。所以你只能按照我的规矩,用我给的方法,才能安全的对人体进行操作。

上面说的好恶心啊……吐了……

所以面向对象(Java就是典型的面向对象语言)需要使用Setter Getter来取放数据。

总而言之,就是为了内部的安全。同时也是给其他对象提供方便。因为我不需要了解你的工作机制,不需要知道应该把数据放到哪里,我直接调用你的Setter就可以了。

纯手打,无抄袭。有问题可以追问。

java类的组合的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java类的组合应用圆锥类接口方法、java类的组合的信息别忘了在本站进行查找喔。