Wpis z mikrobloga

@Marek_Kodrat: obiekt to powiązane ze sobą dane jak i kod. Tak jak funkcja pozwala na reużywanie kodu (możesz wywołać funkcję w różnych miejscach dla różnych danych) tak samo możesz zrobić obiekt jak chcesz użyć kod i ściśle powiązane ze sobą dane w różnych miejscach. Klasa to po prostu szablon na tworzenie obiektów. Z funkcją takich cyrków nie ma, bo nie trzeba jej tworzyć, gdyż nie ma sensu robić kopii czegoś, co
  • Odpowiedz
@Marek_Kodrat: juz Ci podaje przykład.

Wyobraź sobie, że masz kino a w nim 5 sal kinowych. Tworzysz klase o nazwie np RezerwujBilet. Każda z sal ma swoją inną nazwe, inny rozkład miejsc, inny film prezentuje. Ale sposób w jaki wybierasz miejsce i dokonujesz rezerwacji jest taki sam dla każdej z sal. Więc piszesz sobie klase, która wyświetla Ci rozkład sali, pyta uzytkownika o wybór rzędu i miejsca oraz wykonuje szereg innych
  • Odpowiedz
  • 0
Klasy to nowe typy danych.


@mprzemo: @Marek_Kodrat: To bardzo ogólne stwierdzenie.

Uzupełniłbym je o to że klasy służą do tworzenia obiektów a je można traktować jak złożone typy danych. Złożone z np. prostych typów danych takich jak int, str, float lub z innych złożonych typów danych jak: inne obiekty, listy, słowniki itd.

Samo pojęcie "klasa" to tylko instrukcją tworzenia takich złożonych typów danych.

Dodatkowo obiekty mogą zamykać w sobie mechanizmy
  • Odpowiedz
@Marek_Kodrat: masz tutaj ten przykład
https://pastebin.com/sdZdHfwJ

do linijki 51 masz całe ciało klasy.
linijka 54-58 = tworzenie obiektów tej klasy.
w main masz przykłądowe użycie. Jak widzisz klasa została napisana raz, a mozna jej uzyc do 5 roznych sal kinowych i nie musisz dla kazdej sali tworzyc osobnej funkcji obslugującej dane zdarzenie. Gdyby kino miało 3 miliony sal, tez będzie mozna uzyc tylko jednej klasy do obsługi całego kina.
  • Odpowiedz
@Marek_Kodrat: jeśli coś jest ciężko wytłumaczyć, to albo tłumaczący sam tego nie rozumie albo… tłumaczony koncept jest bez sensu. W przypadku klas, z każdym kolejnym rokiem programowania w Javie skłaniam się ku temu drugiemu twierdzeniu.
  • Odpowiedz
@emesi: mylisz pojęcia chłopie

jedyne słuszne zastosowanie klas w tym przykladzie to byłoby stworzenie klasy Sala, której instacjami byłyby obiekty S1, S2, etc. które symbolizowałyby poszczególne sale w kinie, taka klasa miałaby pola Nazwa, Film, IloscMiejsc które symbolizowałyby poszczegolne parametry takiej sali, a do operacji zwiazanych z ta sala (rezerwacja miejsca, wyswietlenie filmu, kupno biletu etc) służyłyby odpowiednie metody, czyli funkcje przypisane do danej klasy
  • Odpowiedz
@emesi

@Marek_Kodrat: juz Ci podaje przykład.


Wyobraź sobie, że masz kino a w nim 5 sal kinowych. Tworzysz klase o nazwie np RezerwujBilet. Każda z sal ma swoją inną nazwe, inny rozkład miejsc, inny film prezentuje. Ale sposób w jaki wybierasz miejsce i dokonujesz rezerwacji jest taki sam dla każdej z sal. Więc piszesz sobie klase, która wyświetla Ci rozkład sali, pyta uzytkownika o wybór rzędu i miejsca oraz wykonuje szereg
  • Odpowiedz
Klasy to matryce (np na taki telewizor). Telewizor posiada atrybuty (jego właściwości, np kolor, przekątna czy marka) oraz jakieś metody (funkcje które ma zaimplementowane np wlacz, wyłącz, uśpij, przełącz kanał, połącz się z internetem). Z takiej matrycy
class Telewizor:
def _init(self):
self.color = ‘black’
….
def turn
off():
self.isworking = False

Tworzysz konkretne telewizory o określonych parametrach które już możesz używać (nazywane obiektami)
W pythonie to będzie:
Tv1 =
  • Odpowiedz