[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] ¥³¥Ô¡¼¥³¥ó¥¹¥È¥é¥¯¥¿¡¼




C++¤Ç¸À¤¦¥³¥Ô¡¼¥³¥ó¥¹¥È¥é¥¯¥¿¡¼¤ò½ñ¤­¤¿¤¯¤Æ¡¢¤³¤ó¤Ê¥³¡¼¥É¤ò½ñ¤¤¤Æ¤¤¤Þ¤·¤¿¡£

public class ClassA {
  private int id;
  private String name = null;

  ClassA() {}

  ClassA(CassA instance_a) {
    this.id = instance_a.id;
    this.name = instance_a.name;
  }

  public int getID() { return id; }
  public void setID(int Value) { id = Value; }

  public String getName() { return name; }
  public void setName(String Value) { name = Value; }
}

public class ClassB extends ClassA {
  private String phone_number = null;

  ClassB() {}

  ClassB(ClassB instance_b) {
    super(instance_b);
    this.phone_number = instance_b.phone_number;
  }

  public String getPhoneNumber() { return phone_number; }
  public void setPhoneNumber(String Value) { phone_number = Value; }
}

¤È¤³¤í¤¬¡¢¥³¥Ô¡¼¥³¥ó¥¹¥È¥é¥¯¥¿¡¼¤Ï½ñ¤«¤º¤Ë¡¢
java.lang.Object ¤Ë¤¢¤ë clone() ¤ò¸Æ¤Ù¤ÐÎɤ¤¤Î¤Ç¤Ï¤Ê¤¤¤«¤È¤¤¤¦¤³¤È¤Ëº£Æüµ¤ÉÕ¤­¤Þ¤·¤¿¡£

¤³¤³¤Çµ¿Ìä¤Ï¼¡¤ÎÄ̤ê¤Ç¤¹¡£

1. clone() ¤Ï¡¢C++ ¤Ç¸À¤¦¥³¥Ô¡¼¥³¥ó¥¹¥È¥é¥¯¥¿¡¼¤ò½ñ¤«¤Ê¤¤¤ÇºÑ¤Þ¤»¤ë¤¿¤á¤Ë
   ºî¤é¤ì¤¿¤â¤Î¤Ê¤Î¤À¤í¤¦¤«?

2.clone() ¤Ï java.lang.Cloneable ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Æ¤ë class ¤À¤±¤ËÂФ·¤Æ
  »ÈÍѲÄǽ¤À¤¬¡¢JDK 1.1 ¤Î¥Ø¥ë¥×¤Ç java.lang.Object ¤Î¤È¤³¤í¤òÆÉ¤à¤È¡¢
  java.lang.Object ¤Ï Cloneable ¤ò¼ÂÁõ¤·¤Æ¤¤¤Ê¤¤¤è¤¦¤À¤¬¤Ê¤¼¤«?
  (¥Ø¥ë¥×¤Ë½ñ¤¤¤Æ¤Ê¤¤¤À¤±?)

3.¼«Ê¬¤Ç¥³¥Ô¡¼¥³¥ó¥¹¥È¥é¥¯¥¿¡¼¤ò½ñ¤«¤º¤Ë¡¢Cloneable ¤ò¼ÂÁõ¤·¤Æ clone() ¤ò»È¤¦
  ´í¸±À­¤Ï?

4.clone() ¤ò»È¤ï¤º¤Ë¡¢¼«Ê¬¤Ç¥³¥Ô¡¼¥³¥ó¥¹¥È¥é¥¯¥¿¡¼¤ò½ñ¤¯¥á¥ê¥Ã¥È¤¬¤¢¤ë¤«?

3¤Ï¼Â¸³¤·¤Æ¤ß¤ì¤ÐÎɤ¤¤Ç¤¹¤Í¡£clone() ¤Ï OutOfMemoryError ¤È¤¤¤¦Îã³°¤òȯÀ¸¤µ¤»¤ë
¤è¤¦¤Ç¤¹¤Î¤Ç¡¢¤â¤·¤«¤·¤¿¤é4¤Ë¤â¥á¥ê¥Ã¥È¤¬¤¢¤ë¤Î¤«¤âÃΤì¤Þ¤»¤ó¡£

³§¤µ¤ó¤Ï¤¿¤Ö¤ó clone() ¤ò¤ª»È¤¤¤À¤È»×¤¦¤Î¤Ç¤¹¤¬¡¢
¼«Á°¤Î¥³¥Ô¡¼¥³¥ó¥¹¥È¥é¥¯¥¿¡¼¤ò½ñ¤«¤ì¤¿Êý¤Ï¤ª¤é¤ì¤Þ¤¹¤«?
---------------------------------------------------------------
           ±óÆ£Ì÷Ç· (¤¨¤ó¤É¤¦ ¤ä¤¹¤æ¤­)
   E-mail: yasuyuki@xxxxxxxxxx
      URL: http://members.aol.com/Eyasuyuki/ (Java¸ß½õ²ñ¥Û¡¼¥à¥Ú¡¼¥¸)
¢©171-0022 Ë­Åç¶èÆîÃÓÂÞ 2-14-10 À¥ÀîÃÓÂÞ¥Ó¥ë 3F
           (³ô)¥¨¥à¥Æ¥£¥·¡¼ µ»½Ñ±Ä¶ÈÉô
       TEL 03-5396-0521 / FAX 03-5396-0525