gpt4 book ai didi

java - 通过 OBJECTS 与 INHERITANCE 访问方法

转载 作者:行者123 更新时间:2023-12-03 22:01:18 25 4
gpt4 key购买 nike

考虑这个子类:

public class Circle extends BasicAreas{

public static void main(String args[])
{
BasicAreas ba = new BasicAreas();
Circle c = new Circle();
c.PrintCircleArea(ba);
}


void PrintCircleArea(BasicAreas ba)
{
System.out.println("Area of circle is : "+areaCircle(3.14));
}
}

和父类:

class BasicAreas{

double areaCircle(double radius)
{
return 3.14 * radius * radius;
}

int areaSquare(int side)
{
return side * side;
}

int areaRectangle(int len, int breadth)
{
return len * breadth;
}
}

现在,我对此很困惑......:

System.out.println("Area of circle is : "+areaCircle(3.14));

当我扩展一个父类(super class)时...我可以访问该类的方法而无需像上面那样使用实例化对象...但是
当我不扩展 class 时,我可以使用 object 访问它的方法,例如:

System.out.println("Area of circle is : "+ba.areaCircle(3.14)); /* "ba" being object */

所以我的问题是什么时候我应该更喜欢使用object,什么时候应该使用extend来访问其他类方法...它们在基础层面上有什么区别??

学习 java...所以请放轻松...我知道这个问题很愚蠢,但没有明确的答案...我也愿意接受这个问题在概念上也可能是错误的可能性!!!

最佳答案

So my question is that when should i prefer using objects and when to use extend to access other class methods...and whats the difference between them on basic level??

继承代表一种是一种关系。但是组合代表了一种关系。您可以选择这两者中的任何一个来解决您的问题,但要做出好的设计,重要的是要在正确的两者之间做出选择。

所以只有当子类是父类(super class)时才应该使用继承。例如在上面的例子中,圆是一个基本区域。否则使用组合。

你可以看到这个article或者网上有很多其他可用的例子来找出这两者之间的区别。

关于java - 通过 OBJECTS 与 INHERITANCE 访问方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21980415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com