Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Co jest obiektowe i poprawne

Ostatnio zmodyfikowano 2012-09-19 20:36
Autor Wiadomość
diego997
Temat założony przez niniejszego użytkownika
Co jest obiektowe i poprawne
» 2012-09-19 17:55:19
Zaczyna się zadawanie durnych pytań ;p Sory ale muszę się zapytać:

1.

C/C++
class Book
{
    string title;
    string author;
   
public:
    Book( string title, string author )
    {
        this->title = title;
        this->author = author;
    }
};

int main()
{
    string a, b;
   
    cin >> a;
    cin >> b;
   
    Book ksiazka = new Book( a, b );
}

2.
C/C++
class Book
{
    string title;
    string author;
   
public:
    Book();
    void addBook()
    {
        cin >> this->title;
        cin >> this->author;
    }
   
};
int main()
{
    Book ksiazka = new Book();
    ksiazka->addBook();
}

Które z powyższych (o ile jest) poprawne i obiektowe :D ?

P-65200
akwes
» 2012-09-19 18:02:03
Obie są obiektowe?

(hint, poczytaj o listach inicjalizacyjnych)
P-65201
diego997
Temat założony przez niniejszego użytkownika
» 2012-09-19 18:13:48
Ok dzięki zaraz poczytam bo właśnie chodzi mi o wprowadzanie danych do obiektu z poziomu konsoli, no i też właśnie chciałem sie przy okazji zapytać czy to się robi w ten sposób(tzn sposobów jest dużo) tylko czy to jest poprawne :)
P-65202
akwes
» 2012-09-19 18:18:31
Czy użyjesz konstruktora (może być ich kilka) czy funkcji to zależy wyłącznie od Twojej wygody.

Często obiekty, które mają dużo zmiennych do ustawienia mają domyślny (pusty) konstruktor, który generuje obiekt o domyślnych wartościach, a później mają dużo metod Set[costam].

Jeżeli danych jest mało, i nie zależy Ci na ich aktualizacji to warto zrobić sobie konstruktor bez interfejsu (bo po co?).

Ważne, aby nie móc stworzyć obiektu, który po użyciu będzie robił jakieś wyjątki. Czyli jeżeli decydujesz się na pusty konstruktor, to lepiej, żeby tak stworzony obiekt był bezpieczny, a nie wymagał jeszcze użycia funkcji Set, bo jak o tym zapomnisz to będzie się program wykrzaczał.
P-65203
diego997
Temat założony przez niniejszego użytkownika
» 2012-09-19 18:25:43
ok dzięki, czyli 2 sposób uznałbyś za poprawny(akceptowalny) :D ? Bo raczej w ten sposób bym robił muszę obiektowo baze danych napisać ;p
P-65204
akwes
» 2012-09-19 18:52:03
Ja bym wczytywał w main do zmiennych tymczasowych, i tworzył obiekt z konstruktorem z argumentami.

Ewentualnie aby się popisać kunsztem pracy na strumieniach i obiektach, to przeładowałbym operator >> dla książek
P-65207
diego997
Temat założony przez niniejszego użytkownika
» 2012-09-19 20:36:12
dzieki tez tak zrobilem :)
P-65236
« 1 »
  Strona 1 z 1