当实例来自另一个类时,如何访问超类的实例?

吉杜斯·文德拉

我试图通过此示例理解继承但不理解:我有一个简单的Point.java,Quadrilateral.java和Rectangle.java(Quadrilateral的子类)

public class Quadrilateral{

private Point p1;
private Point p2;
private Point p3;
private Point p4;

public Quadrilateral(int x1, int y1,int x2, int y2, int x3,int y3, int x4, int y4){


     p1 = new Point(x1, y1);
     p2 = new Point(x2, y2);
     p3 = new Point(x3, y3);
     p4 = new Point(x4, y4);

}

public Point getP1(){
    return p1;
}

public Point getP2(){
    return p2;
}

public Point getP3(){
    return p3;
}

public Point getP4(){
    return p4;

}

然后在子类矩形中,应从四边形继承矩形中的点。如果我想访问矩形类的点并且也许想知道Xposition,我应该怎么做?如果我写在矩形类中:点x = getP1()。getX(); (getX()在Point类中)不起作用,可能会编译idenftifier错误。但是即使我只写:Point x = getP1(); //从超类中也出现同样的错误。谢谢

public class Rectangle extends Quadrilateral{



    public Rectangle(int x1, int y1, int x2, int y2, int x3, int y3, int x4,int y4){
        super(x1,y1, x2,y2, x3,y3, x4,y4);

    }

   //how to access here point1, piont2 form superclass?
   //Point x = getP1(); doesn't work
肯·斯莱德

如果不希望直接从派生类访问它们应该使用Points 否则,您可以简单地使用来间接访问它们。protectedprivategetPX()

要在派生类中访问它们,您需要使用一个方法。例如:

public class Rectangle extends Quadrilateral{
    public Rectangle(int x1, int y1, int x2, int y2, int x3, int y3, int x4,int y4){
        super(x1,y1, x2,y2, x3,y3, x4,y4);
    }

    //just an example:
    public Point getPoint1and2Sum() {
        return getP1().translate((int) getP2().getX(), (int) getP2().getY());
    }
}

或者,如果您设置Point变量protected

public class Rectangle extends Quadrilateral{
    public Rectangle(int x1, int y1, int x2, int y2, int x3, int y3, int x4,int y4){
        super(x1,y1, x2,y2, x3,y3, x4,y4);
    }

    //just an example:
    public Point getPoint1and2Sum() {
        return p1.translate((int) p2.getX(), (int) p2.getY());
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从另一个类访问实例化?

来自分类Dev

如何通过在Javascript另一个类的实例访问另一个类中的方法

来自分类Dev

从另一个类访问变量的实例

来自分类Dev

如何访问属于我传递给另一个类的类的实例的属性?

来自分类Dev

当另一个类仅知道超类时,如何获得对子类的访问?

来自分类Dev

一个类包含另一个类的实例时的类设计

来自分类Dev

如何初始化包含来自另一个类的实例的列表?

来自分类Dev

如何访问同一实例中另一个类中的函数?

来自分类Dev

使用另一个类实例访问一个类方法?

来自分类Dev

类方法如何访问相同类的另一个实例的私有成员?

来自分类Dev

如何在另一个类中访问此实例方法

来自分类Dev

Java如何使用另一个类的实例访问方法

来自分类Dev

如何将一个类的实例方法与另一个实例化?

来自分类Dev

如何将一个类的实例方法与另一个实例化?

来自分类Dev

如何使JavaScript类实例成为另一个类的实例?

来自分类Dev

如何在实例化时在新类中创建另一个类的实例?

来自分类Dev

如何跟踪一个类中另一个类的实例?

来自分类Dev

创建为实例后,一个类如何从另一个类继承

来自分类Dev

如何在一个类中声明另一个类的实例

来自分类Dev

访问从其实例化另一个类的类的方法

来自分类Dev

多个类需要访问另一个类的相同实例

来自分类Dev

如何在不创建实例的情况下访问另一个类内声明的类?

来自分类Dev

与另一个实例比较时,我的类实例如何隐式返回数字?

来自分类Dev

在另一个类实例中获取一个类实例的变量的值

来自分类Dev

将一个类实例转换为另一个类的实例

来自分类Dev

将类实例附加到另一个类的列表变量时如何消除重复项?

来自分类Dev

如何在python中使用另一个实例的类名创建实例?

来自分类Dev

如何在 C# 中使用来自另一个类的初始化实例对象?

来自分类Dev

如何在另一个类中创建导入的类的实例

Related 相关文章

  1. 1

    如何从另一个类访问实例化?

  2. 2

    如何通过在Javascript另一个类的实例访问另一个类中的方法

  3. 3

    从另一个类访问变量的实例

  4. 4

    如何访问属于我传递给另一个类的类的实例的属性?

  5. 5

    当另一个类仅知道超类时,如何获得对子类的访问?

  6. 6

    一个类包含另一个类的实例时的类设计

  7. 7

    如何初始化包含来自另一个类的实例的列表?

  8. 8

    如何访问同一实例中另一个类中的函数?

  9. 9

    使用另一个类实例访问一个类方法?

  10. 10

    类方法如何访问相同类的另一个实例的私有成员?

  11. 11

    如何在另一个类中访问此实例方法

  12. 12

    Java如何使用另一个类的实例访问方法

  13. 13

    如何将一个类的实例方法与另一个实例化?

  14. 14

    如何将一个类的实例方法与另一个实例化?

  15. 15

    如何使JavaScript类实例成为另一个类的实例?

  16. 16

    如何在实例化时在新类中创建另一个类的实例?

  17. 17

    如何跟踪一个类中另一个类的实例?

  18. 18

    创建为实例后,一个类如何从另一个类继承

  19. 19

    如何在一个类中声明另一个类的实例

  20. 20

    访问从其实例化另一个类的类的方法

  21. 21

    多个类需要访问另一个类的相同实例

  22. 22

    如何在不创建实例的情况下访问另一个类内声明的类?

  23. 23

    与另一个实例比较时,我的类实例如何隐式返回数字?

  24. 24

    在另一个类实例中获取一个类实例的变量的值

  25. 25

    将一个类实例转换为另一个类的实例

  26. 26

    将类实例附加到另一个类的列表变量时如何消除重复项?

  27. 27

    如何在python中使用另一个实例的类名创建实例?

  28. 28

    如何在 C# 中使用来自另一个类的初始化实例对象?

  29. 29

    如何在另一个类中创建导入的类的实例

热门标签

归档