Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите правильно определить класы 
:(
    Опции темы
Snik
Дата 19.1.2008, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 16.8.2006

Репутация: нет
Всего: нет



Преследуется цель выполнить весь функционал в методе Z_2().
Функционал планируется таков: Klone -клас животное, Kltwo -клас собака расширеный от Klone 
по кнопке создать должен создаваться элемент колекции клас Kltwo(строка-цвет,число,число,порода1,кличка1) к которому позже необходимо будет обращатся(считывать) выбрав его в списке а также редактировать.
 
на данном этапе прошу помощи о создании и правильном определении класов, а также создании массива(колекции) для последующего использования в списке.

привожу свой полный код с коментами, надеюсь на ващи подсказки запутался совсем 

Код

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.util.Random;

class Zakladki {
  Zakladki(){
    JFrame  jfrm = new  JFrame("Лабораторные работы");
    jfrm.setSize(1200, 600);
    jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    Z_2 jpnl = new Z_2(); 

    JTabbedPane jtp = new JTabbedPane();
    jtp.addTab(" № 2",jpnl);
    //здесь планируется множество закладок 
    jfrm.getContentPane().add(jtp);
    jfrm.setVisible(true);
  }  

  public static void main(String[] args){ 
    SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        new Zakladki();
      }
    }); 
  }
}

class Klone { 
  double a, b; 
  // как сюда добавить string A ?
  void init(double a, double b) { 
     this.a = a;
     this.b = b;
  } 


class Kltwo extends Klone { 
    
      // как сюда добавить пару строковых параметров ?

      } 
    } 


class Z_2 extends JPanel{
   Z_2(){
     //создание нужных объектов
     /* final double  B[];     //Минимум вес
       final double  C[];     //Максимум вес
     */
               
     final String[]  A   = {"чёрный", "белый", "коричневый", "пепел-дым", "белые пятна", "седой"};
     final double    B[] = {0.425, 1.5, 5, 500, 120, 8};
     final double    C[] = {1, 7.5, 30, 800, 170, 10};
     final Kltwo     ArKl1[];
     JButton  btnNew = new JButton("Создать обьект");
     add(btnNew);
    
     final int i = 0;

     //дейсвия по кнопкам
     btnNew.addActionListener(new ActionListener() {
       public void actionPerformed(ActionEvent ae){
         Random rdn = new Random();
           int r = rdn.nextInt(6);
           Kltwo el = new Kltwo(A[r], B[r], C[r], "Лайка", "Дружок");
           ArKl1[i] = el;
           i++;
           System.out.println(ArKl1[i]);// как сдесь вывести кличку??
       }
     });
  }

}

PM MAIL   Вверх
jManiak
Дата 19.1.2008, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 6.2.2007
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Что-то я не совсем понял что иенно необходимо сделать...
Можно по-подробнее объяснить первоначальную цель?
PM MAIL ICQ   Вверх
Snik
Дата 19.1.2008, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 16.8.2006

Репутация: нет
Всего: нет



Цитата(jManiak @ 19.1.2008,  19:44)
Что-то я не совсем понял что иенно необходимо сделать...
Можно по-подробнее объяснить первоначальную цель?

первоначальная цель на одной из панелей замутить создание колекции в количестве раз назжатой кн.  Колекция от расширенного класса.
предоставить на этой панели (закладке)  редактирование этой колекции выбрав элемент колекции  из списка
PM MAIL   Вверх
Kangaroo
Дата 19.1.2008, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 21
Всего: 104



Цитата(Snik @  19.1.2008,  18:16 Найти цитируемый пост)
прошу помощи о создании и правильном определении класов

Для начала переименовать классы, а то тут я логики не вижу:

Цитата(Snik @  19.1.2008,  18:16 Найти цитируемый пост)
Klone -клас животное

В нашем мире все животные уже клоны??

Цитата(Snik @  19.1.2008,  18:16 Найти цитируемый пост)
Kltwo -клас собака расширеный

Цитата(Snik @  19.1.2008,  18:16 Найти цитируемый пост)
Z_2()

А эти два названия вообще не понятно откуда взялись  smile 


Цитата(jManiak @  19.1.2008,  18:44 Найти цитируемый пост)
Можно по-подробнее объяснить первоначальную цель? 

Поддерживаю


--------------------
Lost....
PM MAIL MSN   Вверх
Snik
Дата 19.1.2008, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 16.8.2006

Репутация: нет
Всего: нет



Стараюсь компилить кусочками начав с класа

Код

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

class Zgivotnoe { 
  int a, b; 
  // как сюда добавить string A ?
  void init(int a, int b) { 
     this.a = a;
     this.b = b;
  } 


//если откомпилится буду расширять типа: class Dog extends Zgivotnoe()

class Zakl {
  Zakl(){
      Zgivotnoe w = new Zgivotnoe(1, 3);
      System.out.println("a = " + w.a + " b = " + w.b);
  }  

  public static void main(String[] args){ 
      new Zakl();
  }
}

C:\Program Files\Java\jdk1.6.0_03\bin>javac.exe Zakl.java
Zakl.java:18: cannot find symbol
symbol  : constructor Zgivotnoe(int,int)
location: class Zgivotnoe
      Zgivotnoe w = new Zgivotnoe(1, 3);
                    ^
1 error

PM MAIL   Вверх
nornad
Дата 19.1.2008, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 16
Всего: 31



Snik, может стоит почитать книжку-другую? Или хотя бы по FAQ'у полазать и поднатаскаться java'овских фишек? А то налицо явное незнание основ (например, того, что класс лежит в одноимённом файле и должен быть объявлен открытым (public)). А потом уже лезть писать код.

Кстати, если уж у тебя дальше будет Dog, то родителем должен быть Animal, а не некое Згивотное. smile

Добавлено через 4 минуты и 5 секунд
Цитата(Snik @  19.1.2008,  23:23 Найти цитируемый пост)
// как сюда добавить string A ?

Код

class Animal { 
  int a = 0;
  int b = 0;
  String A = "";
  public Animal(int a, int b, String A) {
  // как сюда добавить string A ?
  //void init(int a, int b) {  // зачем инициализатор, если это же легко в конструкторе указывается? тут инициализация простейшая и вряд ли будет вызываться снова
     this.a = a;
     this.b = b;
     this.A = A;
  } 
}

Кроме того, не называй поля как a, b, A - уже через две недели ты про половину не сможешь определённо сказать, для чего они.

Добавлено через 6 минут и 10 секунд
Цитата(Snik @  19.1.2008,  23:23 Найти цитируемый пост)
System.out.println("a = " + w.a + " b = " + w.b);

Тут у тебя следующая ошибка. После чтения книжек - сразу увидишь.  smile

Добавлено через 12 минут и 27 секунд
Цитата(Kangaroo @  19.1.2008,  22:59 Найти цитируемый пост)
Цитата(jManiak @  19.1.2008,  18:44 Найти цитируемый пост)
Можно по-подробнее объяснить первоначальную цель? 

Поддерживаю 

Идея, как я понимаю - научиться джаве с наскоку. Не читая книжек. Видимо, после прочтения ознакомительной статьи. В общем, что-то вроде "я тут слышал, что есть такая штука - джава - и на вашем форуме люди в ней шарят. карочи я делаю вот так, а оно мне кукиш кажет. пакажити мне ашыпки". А ашыпки тут на каждом шагу. И не только в джава, но и вообще в подходе. Видно, что знания в программировании весьма поверхностны и получены сомнительным путём.

P.S. Надеюсь, автора темы мои слова не обидят. Если всё же это произошло - приношу свои извинения, ибо не имел намерения. Но поймите и вы, сударь - перед тем как задавать вопросы надо хоть немного усилий потратить на вникание в тему. Иначе получается очень некрасивая ситуация в отношении тех, у кого вы спрашиваете помощи/совета.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
jManiak
Дата 19.1.2008, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 6.2.2007
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Цитата(nornad @  19.1.2008,  21:10 Найти цитируемый пост)
 Видно, что знания в программировании весьма поверхностны и получены сомнительным путём.

Ай молодца... smile  smile 
А я-то думал как получше объяснить что есть такие прямоугольные штуки с букаффками...
PM MAIL ICQ   Вверх
Snik
Дата 19.1.2008, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 16.8.2006

Репутация: нет
Всего: нет



Перед тем как задавать сюда вопросы прочитал http://u-pereslavl.botik.ru/~vadim/documen...on/CONTENTS.HTM и часть книги Swing Шилдт, и сейчас читаю 
если кто посоветует ресурс лутше буду благодарен. Знаю мало пока язык но хочу знать больше  надеюсь на вашу помощь...

Забиваю пока на второй клас так как надо создать колекцию хотябы с одного. Добился этот код работает но как сделать доступную для других кнопок колекцию?  

Код

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.util.Random;

class Zakladki {
  Zakladki(){
    JFrame  jfrm = new  JFrame("Лабораторные работы");
    jfrm.setSize(1200, 600);
    jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    Z_2 jpnl = new Z_2(); 

    JTabbedPane jtp = new JTabbedPane();
    jtp.addTab(" № 2",jpnl);
    //здесь планируется множество закладок 
    jfrm.getContentPane().add(jtp);
    jfrm.setVisible(true);
  }  

  public static void main(String[] args){ 
    SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        new Zakladki();
      }
    }); 
  }
}


class Z_2 extends JPanel{
  Z_2(){
     //создание нужных объектов
              
     final String[]  A   = {"чёрный", "белый", "коричневый", "пепел-дым", "белые пятна", "седой"};
     final double    B[] = {0.425, 1.5, 5, 500, 120, 8};
     final double    C[] = {1, 7.5, 30, 800, 170, 10};
     
     JButton  btnNew = new JButton("Создать обьект");
     add(btnNew);
    
     //дейсвия по кнопкам
     btnNew.addActionListener(new ActionListener() {
       public void actionPerformed(ActionEvent ae){
           Random rdn = new Random();
           int r = rdn.nextInt(6);
           Zgivotnoe el = new Zgivotnoe();
           el.init(A[r],B[r], C[r]);
           //Как сделать доступную для других кнопок колекцию?
           System.out.println(el.a+"   "+el.b+"   "+el.c);
           System.out.println("Цвет "+A[r]+" минимальный вес ~ "+B[r]+" максимальный ~ "+C[r]);
       }
     });

    //сдесь еще  события кнопок для работы с колекцией
  }

}


class Zgivotnoe { 
  String a;    
  double b, c; 
  void init(String a, double b, double c) { 
     this.a = a;
     this.b = b;
     this.c = c;
  } 

 
PM MAIL   Вверх
jManiak
Дата 20.1.2008, 07:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 6.2.2007
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Аффтар, измени названия классов и объясни что хочешь сделать вообще.

А на счет литературы... я например начинал вот с этого: Хабибуллин И. Самоучитель Java, 2 изд.
Кстати, где-то в инете видел pdf версию.

Это сообщение отредактировал(а) jManiak - 20.1.2008, 07:37
PM MAIL ICQ   Вверх
nornad
Дата 20.1.2008, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 16
Всего: 31



Цитата(Snik @  20.1.2008,  01:18 Найти цитируемый пост)
как сделать доступную для других кнопок колекцию?  

Почитай в книжках про public, protected и private.

Добавлено через 1 минуту и 40 секунд
Цитата(jManiak @  20.1.2008,  10:30 Найти цитируемый пост)
Кстати, где-то в инете видел pdf версию.

На натахаусе (теперь инфаната.орг) есть немало книг. Кроме того, на форуме есть раздел компьютерной литературы, в котором собрана куча ссылок на библиотеки, статьи и книги.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0825 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.