En passant super-classe de l'objet en tant que paramètre au constructeur de sous-classe (java)

J'ai fait un peu de recherche, mais je suis pas poser la bonne question ou de ne pas se souvenir correctement. En tout cas, en Java, je me demande si il est possible de passer la super-classe de l'objet en tant que paramètre à une sous-classe, et que le moyen le plus efficace de faire de l'objet de données disponibles pour la classe de super-classe.

Exemples de Code:

public class superclass {
  String myparm1;
  String myParm2;
  int myParmN;

  public superclass(String p1, String p2, int pn)
  {
    this.myparm1 = p1;
    this.myparm2 = p2;
    this.myParmN = pn;
  }
  //other methods here
}

public class subclass extends superclass {
  double b1;
  double b2;

  public subclass(superclass sc, double b1, double b2) {
    //easy way to make sc data available to this class?
    //Do I create a copy or clone method, or some other way?
    //calling super(sc); wouldn't exactly work 
    this.b1 = b1;
    this.b2 = b2;
  }
}

si j'avais un constructeur de la superclasse qui a été public superclass(superclass sc) { //assign sc properties to this properties, correct? } alors je pourrais simplement utiliser super(sc);

Si le constructeur de la superclasse attend deux Chaînes de caractères et un entier (int), vous devez appel à super() avec 2 Cordes et un int. Il n'y a pas moyen de contourner cela. Si ces 3 valeurs sont exposés par sc, puis la faire, et apsss à super().
Pourquoi ne pas vous super(sc.p1, sc.p2, sc.p3)?
superclass(superclass sc)? L'appel de super(sc) ne marche même pas alors, car il n'y a pas un Object constructeur avec superclass en tant que paramètre
Raffaele. Bien sûr, avec un petit nombre de propriétés, c'est facile. Mais en supposant que ma classe a un grand nombre de propriétés. (Il peut être mauvais design dans ce cas, bien sûr, mais je m'égare.)
Si votre classe mère a un grand nombre de propriétés, il devient de plus en plus important d'encapsuler les détails de la copie. Pouvez-vous ajouter un constructeur de copie dans le superclass de la classe, de la forme que vous notez à la fin de votre question -- public superclass(superclass sc)?

OriginalL'auteur Machtyn | 2016-01-15