2012-12-08 9 views
6

Klasa jest wiązaniem metod i zmiennych w jednej jednostce.
Obiekt jest instancją klasy.Jaka jest różnica między klasami a instancjami obiektów?

Są to definicje dla klas i obiektów w książkach programistycznych. Mój przyjaciel powiedział, że klasa to wzorzec obiektu. Obiekt jest prawdziwą "rzeczą" planu. Podał przykład: jeśli Company jest klasą, INFOSYS, CTS i TCS itd. Są obiektami. Ilekroć myślę o klasach i przedmiotach, te definicje mylą mnie. Jeśli kanał jest klasą, jakie są obiekty dla tej klasy? Jeśli woda jest klasą, jakie są przedmioty klasowe? Możesz wyjaśnić?

+2

Powinieneś przeczytać dobrą książkę i przejrzeć kilka przykładów ... – home

+0

Twój przyjaciel się myli. Klasy same mogą być uznane za obiekty. –

+1

Ale tylko w niektórych językach ...najlepiej najpierw odejść od podłoża, zanim zajmiemy się tą klasą – Sheena

Odpowiedz

11

Jeśli kanał jest klasą, jego obiektami są Start Sport, BBC i ESPN. Jeśli woda jest klasą, jej obiektami są "świeża woda wapienna" i "zupa".

Chociaż może się wydawać, że to wyjaśnienie jest mgliste, to jest odpowiedź, o której mógłbym pomyśleć.

Oto w jaki sposób można poznać i odróżnić klas:

Powiedzmy, że masz klasę „samochód”

Jej obiekty są Hyundai, Ford, Suzuki. Będą one miały te same metody, ale różne projekty -> w ten sposób możesz powiązać przedmioty i zajęcia ze światem rzeczywistym.

+0

dziękuję za wyjaśnienia.Jeśli kanał jest obiekt, co byłoby klasą? –

+0

Już wspomniałem o tym w mojej odpowiedzi. Przeczytaj to. Jeśli CHANNEL jest obiektem ESPN, jego obiektami są START sPORTS, TEN SPORTS, BBC, CNBC itp. –

1

Dam ci klasyczne wyjaśnienie, możesz znaleźć różne wersje tego w każdym miejscu.

Klasa jest jak plan. Powiedzmy, że chcesz zbudować samochód, pierwszą rzeczą, której potrzebujesz, jest plan, to jest klasa. Plan będzie opisywać "metody", takie jak brake i hoot. Będzie również opisywać różne elementy samochodu. Są to zmienne.

Obiekt samochodowy jest instancją klasy samochodów. Możesz mieć ich wiele dla jednej klasy samochodów.

Na przykład:

class Car: 
    def __init__(self,color): 
     self.color = color 

    def hoot(self): 
     "do stuff" 


red_car = Car('red') 
red_car.hoot() 
blue_car = Car('blue') 
blue_car.hoot() 

Teraz, w zależności od języka używasz klas same mogą być obiekty (tak jest w Pythonie). Pomyśl o tym w ten sposób: wszystkie plany mają ze sobą coś wspólnego. Te pospolite rzeczy są opisane w klasie planu (która sama w sobie jest planem).

Następnie w punkcie „woda” jako klasy można zbliżyć go na kilka sposobów w zależności od tego, co chcesz zrobić:

sposób 1:

raczej mieć klasę o nazwie Ciecz ze zmiennymi opisujące takie rzeczy jak lepkość, zapach, gęstość, objętość itp. Przykładem tego byłaby woda. Więc sok pomarańczowy

sposób 2:

powiedzieć, że były łącząc grę z wieloma blokami, które byłyby wykonane z różnych terenu. Możesz wtedy mieć zajęcia takie jak trawa, woda, kamień, itp. (Pomyśl Minecraft). Wtedy możesz mieć instancję klasy wodnej (obiekt wodny) zajmującą określoną pozycję na mapie.

0

W realnym świecie często znajdziesz wiele pojedynczych obiektów tego samego rodzaju. Mogą istnieć tysiące innych kanałów, wszystkie tej samej marki i modelu. Każdy kanał został zbudowany z tego samego zestawu schematów i dlatego zawiera te same komponenty. W kategoriach obiektowych mówimy, że Twój kanał jest instancją klasy obiektów znanych jako kanał. Klasa jest schematem, z którego tworzone są poszczególne obiekty.

class Channel { 

    ChannelType type = 0; 
    int employeeCount = 0; 


    void setType(ChannelType newType) { 
     type = newValue; 
    } 

    void addEmployer(int increment) { 
     employeeCount= employeeCount+ increment; 
    } 

    void removeEmployer(int decrement) { 
     employeeCount= employeeCount- decrement; 
    } 

    void printStates() { 
     System.out.println("type :" + 
      type + " employee count:" + employeeCount); 
    } 
} 

Projekt tej klasy opiera się na poprzedniej dyskusji o obiektach kanału. Typr pola, employeeCount reprezentuje stan obiektu, a metody (setType, addEmployer, removeEmployer itd.) Definiują jego interakcję ze światem zewnętrznym.

Być może zauważyłeś, że klasa Channel nie zawiera głównej metody. To dlatego, że nie jest to kompletna aplikacja; to tylko plan kanałów, które mogą być używane w aplikacji. Odpowiedzialność za tworzenie i używanie nowych obiektów Chennel należy do innej klasy w twojej aplikacji.

class Channel Demo { 

    public static void main(String[] args) { 

     // Create two different 
     // Channel objects 
     Channel BBC= new Channel(); 
     Channel NTV = new Channel(); 

     // Invoke methods on 
     // those objects 
     BBC.setType(channeltype.NEWS); 
     BBC.addEmployer(500); 
     BBC.printStates(); 

     BBC.setType(channeltype.SPORT); 
     BBC.addEmployer(300); 
     BBC.printStates(); 


    } 
} 

Wyjście tego testu drukuje na dwóch kanałach:

typ: NEWS count pracownik: 500

typ: SPORT liczba pracowników: 300

5

Klasa określa zachowanie jego instancje.

Klasa jest także instancją klasy (klasa dla klasy nazywa się "metaclass").

Klasa to abstrakcja. Znajdziesz klasę, znajdując ogólne właściwości odnoszące się do grupy obiektów.

Następnie klasa jest szablon, który definiuje metody (zachowanie) i zmienne (państwowe), które należy uwzględnić w szczególności rodzaj obiektu

Recognition zajęć (poza klasie) wymaga doświadczenia.

Przeczytaj wszystko od Alana Kay, on jest wynalazcą technologii obiektowej i jednym z wynalazców Smalltalk, jedynego środowiska czystych obiektów, jakie jest dzisiaj.

-1

Obiekt jest możliwą do zidentyfikowania jednostką o pewnych cechach i zachowaniu. Reprezentuje encję, która może przechowywać dane i powiązaną z nimi funkcję.

Klasa to grupa obiektów, które mają wspólne właściwości i relacje. Reprezentuje grupę podobnych obiektów.

2

Nie mam dużego doświadczenia w programowaniu, ale mój przyjaciel był dobrym przykładem definiowania klasy i obiektu. Postaram się jak najlepiej wykorzystać ludzki język.

Weź konia. Co sprawia, że ​​wiesz, że to zwierzę to koń, a nie ... pies? Ponieważ ma cztery nogi, jest dużym zwierzęciem, jest bardzo silny i może biec. Cóż, po prostu zdefiniowałeś w klasie "klasę koni"! Teraz zobaczysz białego samicę konia zwanego "Pollyanna" i czarnego konia o imieniu "Demon". Jak tylko je zobaczysz, wiesz, że są to konie, więc należą do klasy "koni". Co je wyróżnia? Seks i kolor ... To są cechy klasy "koni". "Pollyanna" i "Demon" to dwa obiekty, są to rzeczy prawdziwe, rzeczy, których można dotknąć i jeździć. Ich właściwości, płeć i kolor również są różne. Pollyanna jest biała i żeńska. Demon jest czarny i męski. Te zdefiniowane właściwości odróżniają jeden obiekt od drugiego. Jeden koń z drugiego. Ale nadal należą do tej samej klasy: zawsze są to konie!

Bardziej techniczny teraz ... Klasa jest bardziej abstrakcyjną definicją czegoś. Plan. Obiekt jest prawdziwą rzeczą, która należy do tej klasy. Tworząc nowy obiekt z klasy, tworzysz instancję obiektu (czyli tworzenie instancji).

Nadzieja to pomaga, a jeśli to nie przepraszam ... Jak powiedziałem wcześniej, nie mam dużo doświadczenia w programowaniu :)

Gianluca

0

w gramatyce rzeczownikiem pospolitym jest klasa i nazwa własna jest Object.

0

Obiekt ma ograniczoną długość życia, obiekt jest tworzony i ostatecznie niszczony. Również w tym okresie obiekt może ulec znaczącej zmianie.

-1

Termin klasa i obiekt są z pewnością powiązane z innym, ale każdy z nich ma swoje odrębne znaczenie. Zacznijmy od wyjaśnienia, co oznacza termin klasa. Klasa odnosi się do fragmentu kodu, który jest użyteczny do zdefiniowania zachowania dowolnej klasy. Tak samo klasy to statyczna pica kodu, która składa się z atrybutu, który nie zmienia się podczas wykonywania orogramu. Obiekt odnosi się do rzeczywista przykład wystąpienie class.Every ibhect musi należeć do klasy

0

klasy

  1. taki sposób, aby związać dane i związane z nimi funkcji razem.
  2. Klasa ma wiele obiektów.
  3. Klasa jest szablonem do tworzenia obiektów.
  4. Jest to istnienie logiczne.
  5. Miejsce pamięci nie jest przydzielane, kiedy jest tworzone.
  6. Definicja (deklaracja) jest tworzona tylko raz.
  7. Klasa jest zadeklarowana za pomocą słowa kluczowego "klasa".

Object

  1. Podstawowa jednostka wykonawcza w środowisku obiektowym.
  2. Obiekt należy tylko do klasy.
  3. Obiekt to implementacja klasy.
  4. To jest fizyczne istnienie.
  5. Miejsce w pamięci jest przydzielane po utworzeniu.
  6. Jest tworzony wiele razy, zgodnie z potrzebami.
  7. Obiekt jest instancją lub zmienną klasy.
Powiązane problemy