CentrumXP.pl » Witamy
CentrumXP.pl
 
Szukaj
Subskrypcja
Powiadomienie e-mailem o nowościach na CentrumXP.pl:
E-mail: Zapisz
Czy zamierzasz pobrać Internet Explorer 9?


CentrumXP.pl » Microsoft .NET » Kurs C#, cz. I » Dodaj do ulubionych Dodaj do ulubionych   Dodaj do ulubionych Wersja do wydruku

06. Klasy i obiekty

Autor: Daniel Celeda    Opublikowano: 3 stycznia 2006    Odsłon: 145853    »Skomentuj...
Strona:
Zobacz również:

01. "Programowanie" - z czym to się je?

02. Programowanie obiektowe

03. Do czego potrzebne jest nam Visual Studio 2005

04. Konfiguracja i obsługa C# 2005 Express Edition

05. Tworzenie solution i nowych projektów

07. Tworzenie oraz inicjalizacja obiektów

08. Operatory arytmetyczne

09. Porozmawiajmy o „stringach”

10. Typy proste i referencyjne

11. Wartości logiczne

12. Inne operatory logiczne

13. Instrukcje iteracyjne (tzw. pętle) - cz. I

14. Instrukcje iteracyjne (tzw. pętle) - cz. II

15. Tablice

16. Kolekcje

17. Typy generyczne (generics)

18. Przestrzenie nazw (namespaces)

19. Modyfikatory dostępu

20. Metody statyczne oraz metody instancyjne

»Uzyskaj pomoc na forum

Instancje klas – obiekty

Tym razem stworzymy sobie dwie klasy, jedną podobną do „HelloWorld”, czyli główną klasę naszego programu oraz drugą, z której będziemy tworzyć obiekty wewnątrz klasy głównej.

class Echo
{
    string napis;
    public void WczytajNapis()
    {
        System.Console.WriteLine("Podaj napis.");
        napis = System.Console.ReadLine();
    }
    public void Napisz()
    {
        System.Console.Write("Napisałeś: ");
        System.Console.WriteLine(napis);
    }
}
class
KlasaGlowna
{
    static void Main()
    {
        Echo obiektEcho = new Echo();
        obiektEcho.WczytajNapis();
        obiektEcho.Napisz();
        System.Console.ReadLine();
    }
}

Jak nazwa wskazuje klasą główna jest „KlasaGlowna”. Zawiera ona znaną już nam metodę „Main”, wewnątrz której tworzymy obiekt klasy „Echo” oraz wykonujemy jej metody.

Pojawiło się kilka nowych rzeczy. Omówmy najpierw klasę „Echo”. Na początku zawiera ona zmienną typu „string”, czyli tekstową (może przechowywać napisy). Następnie znajdują się dwie metody rozpoczynające się od słowa „public”. Wyraz ten oznacza dostępność elementów klasy dla innych klas. W tym przypadku mówi, że metody które poprzedza są publiczne, czyli mogą je wykonywać inne klasy (nie tylko klasa zawierająca definicje tych metod). Dzięki temu wewnątrz klasy „KlasaGlowna” możemy nie tylko tworzyć obiekty klasy „Echo”, ale też wykonać publiczne metody klasy „Echo”.

Następująca linijka

napis = System.Console.ReadLine();

oznacza, że program prosi nas o podanie tekstu (oczekuje tego metoda „ReadLine()”). Po naciśnięciu klawisza Enter, a więc po zakończeniu wprowadzania tekstu, to co wpisaliśmy „ląduje” wewnątrz zmiennej „napis”. Pozostała zawartość metod powinna być już dla nas jasna. Prześledźmy jeszcze wykonanie metody „Main” w głównej klasie. W pierwszej linijce tworzymy nowy obiekt klasy „Echo” i „wkładamy” go do zmiennej „obiektEcho”. Część

Echo obiektEcho

to deklaracja zmiennej „obiektEcho”, która może przechowywać tylko obiekty klasy „Echo’. Następnie mamy znak „=”, który przypisuje wartość, którą będziemy przechowywać wewnątrz naszej zmiennej. Teraz wystarczy nam stworzyć nowy obiekt klasy „Echo”, aby mieć co załadować do zmiennej.

new Echo();

A oto wynik działania powyższego programu.

Pojawiło się nowe dla nas słówko „new”. „New” służy do tworzenia nowych instancji klas, a więc tworzenia obiektów na podstawie zdefiniowanej klasy.
Więcej o tworzeniu nowych obiektów, a także o konstruktorach oraz typach referencyjnych i prostych powiemy sobie w następnym artykule.


«Wstecz 1 2 3 

Aktualna ocena to: 3,94

Oceń artykuł...
Porażka Kiepski Taki Sobie Dobry Super!

Tagi:  

A teraz:    Dodaj do ulubionych Dodaj do ulubionych    Wydrukuj Wydrukuj    Wyślij link znajomemu Wyślij link znajomemu    Skomentuj Skomentuj

Komentarze do 06. Klasy i obiekty

Dodaj komentarz»

Skaleq 10 lipca 2006, 0:45

Kurcze, mieszam się :( Przydałyby się screeny tak jak w temacie nr 5.

Skaleq 10 lipca 2006, 1:19

oo poradziłem sobie, jednak trzeba się bardziej skupić :)

Anonim 16 lipca 2006, 8:50

Nie da się tego zrobić. Bo mi wyskakują same errory.

csharp laik:) 21 lipca 2006, 11:55

wszystko jest ok i jak na chwile obecną wszystko idzie bez problemów. Pozdrowienia!

Mydew 22 lipca 2006, 21:17

Mi wszystko wychodzi - umiem Pascala(TP,Delphi) i z C# jakos latwiej mi idzie

BuLDoG 22 lipca 2006, 23:02

Wszystko pięknie działa jak się zna podstawy.. A od tego jest Pascal ew. Delphi.. C# raczej do zapoznawania sie z programowaniem nie polecam. Zręsztą podobnie jak c++ i ogólnie dotNeta.

bartek 21 sierpnia 2006, 16:11

cytuję : Pojawiło się nowe dla nas słówko „new”. „New” służy do tworzenia nowych instancji klas koniec cytatu. Skoro wielkość liter ma znaczenie to po co nagle "NEW"? Skoro jest to słowo kluczowe to należy je pisać z małej litery aby nie wprowadzać zamieszania (i na wypadek gdyby jednak zasady ortografii nakazywały użyć na początku zdania wielkiej litery inaczej sformuować zdanie)

Salomon 27 sierpnia 2006, 19:58

jezeli ktos pisal w c wszystko jest jasne. jezeli ktos kaleczyl sie pascalem lub delphi pozniej utknie. pzdr

Licealista :/ 23 lipca 2007, 12:11

Po Pacalu (mam na informatyce) pozostają dziwne przyzwyczajenia w stylu używania funkcji bezargumentowych bez nawiasu, bezsens... Zamiast Console.Readkey(); piszę Console.Readkey;, a później szukam błedu... Ogólnie mówiąc wydaje mi się, ze C# jest bardzo podobny do Javy pod względem architektury, a składniowo nie wiele różni się od C++ dlatego lepiej zacząć od któregoś z powyższych.

Grzegorz 28 lipca 2007, 14:05

TEMAT: Klasy i obiekty a tłumaczyć coś takiego: System.Console.WriteLine("Hello world !"); to jakiś absurd. Poza tym dramatycznie ubogo.

Nowy 2 sierpnia 2007, 18:45

Odsyłam do fachowych książek jeśli komuś tu ubogo. Fajnie jest mieć gdzie zapoznać sie z podstawowymi pojęciami. Pozdrawiam

No ładnie... 9 września 2007, 18:32

C#, a szczególnie takie podstawy są bardzo proste. A jeżeli ktoś nie potrafi pojąć najprostszych rzeczyw C#, to niech lepiej się uczy Pascala albo Delphi najpierw PS - NNNNOOOOOOBBBBBBBBBYYYYY

Adolf 13 września 2007, 22:46

Nie kazdy zaczyna od Pascala, czy Delphi. Ja zaczalem od C i C++. Mimo, ze bylo ciezko jakos dalem sobie rade... A skoro taki z Ciebie cwaniak, a wszyscy to nooby, to po co czytasz kursy??

Adolf 13 września 2007, 22:47

A tak btw, kursik bardzo ciekawy i przejrzysty. Pozdr for all.

Fuku 19 września 2007, 20:07

... mi dziala :)

jatoja 25 września 2007, 12:48

wedlug mnie bardzo fajnie napisane. Troszke skacze po pojeciach ale dobrze sie czyta. BTW ja zaczalem nauke od TP pozniej DELPHI ale z powodu drogiego oprogramowania borlanda szukalem alternatywy i C# jest wlasnie tym czego potrzebowalem ;) Jeszcze w miedzyczasie nauczylem PHP wiec przejscie z Delphi przez PHP do C# bylo baaaardzo przyjemnie przeprowadzone i polecam PHP ludziom ktorzy nie mieli do czynienia z jezykami interpretowanymi.

Rafal 16 marca 2008, 9:23

Te linie kodu można dodać do poprzedniego programu.

Pomocy!! etx 3 czerwca 2008, 12:10

Wie ktoś może jak zrobić Klasę, która potrafi liczyć działanie związane z pierwiastkowaniem ?? albo coś takiego: Tutaj chce zeby pierwiastkował liczby od zmiennych wybierz.wynik1, wybierz.wynik2. I nie wiem jak to zrobic :(:( (..) case "3": { wybierz.odejmowanie(zesp1.x, zesp1.y, zesp2.x, zesp2.y); Console.WriteLine("Wynik: " + wybierz.wynik1 + " + j" +wybierz.wynik2); Console.WriteLine("Czy chcesz zamienic na posta trygonometryczna??"); Console.WriteLine("1 - Tak"); Console.WriteLine("0 - Nie"); int x = int.Parse(Console.ReadLine()); if (x == 1) { Console.WriteLine(Math.sqrt(JAKIEŚ TAM DZIALANIE); } break; } (..)

RasMike 21 grudnia 2009, 16:31

spoko kurs jest:)  uwazajcie na duze / male litery bo maja znaczenie i na to by deklaracja zmiennej string byla dla calej klasy a nie jej wybranej funkcji no to tyle bo tez mi sie errorowalo

Robcio 21 lutego 2010, 18:21

Ja znam C++ dlatego niemam z niczym problemu

Noob 28 czerwca 2010, 10:17

No a ja własnie sie ucze programowac i kurs jest spoko

D.A.J 6 lipca 2010, 22:44

Kurs całkiem, całkiem:) no i komentarze zabawne 5+ heh

milkwarz 7 września 2010, 3:57

Naprawdę bardzo fajny kurs.

konrad 2 listopada 2010, 15:02

ja się ucze i daje 5 za kurs:p

damian 24 listopada 2010, 15:32

Z tego co widze konstrukcja jezyka jest bardziej obiektowa - jak Java, ale skladnia w duzej mierze podobna do c++, takze wystarcza mi pobiezne czytanie :D

Guest 25 listopada 2010, 10:50

Kurs miły i przyjemny. Polecam iść ścieżką: ANSI C -> C++ -> C#. Warto zauważyć, że podstawy są bardzo prosto wyjaśnione, ale jeśli jednak chcemy z wg tego kursu coś stworzyć np. wiekszy projekt niz kalkulator to trzeba to dokladnie opanowac, znac zasady algebry boolowskiej, podstawy matematyki i rodzaje zmiennych oraz miec pojecie chociażby pojęcie o funkcjach jakie zazwyczaj stosujemy w programach.  Kurs mi się przydał i przydaje dalej. "Robię" symulację koła fortuny w C# + .Net Framework i ten kursik przyspieszył pracę.  Autorowi życzę wielu sukcesów zawodowych ! Pozdro

Stprzemo 5 września 2011, 10:50

Po co pisać system.console? samo console wystarczy.

omg 20 listopada 2011, 0:26

System.Console.ReadLine(); w klasie glownej jest zbedny

james 29 listopada 2011, 23:20

@guest Ale przecież ANSI C jest najtrudniejszy a po nim C++. Wszystko jest zminimalizowane i przez to kod nie jest rozciągliwy , ale czy łatwy do nauki? Trzeba dbać o pamięć itp. Wydaje mi się że taka kolejność powinna być od najłatwiejszego C#>Java>C++>C>Asembler Ponoć łatwiejsze są jeszcze Python i Ruby

pswierq 19 stycznia 2012, 12:01

Przydało by się od razu napisać (dla zielonych, czyli i dla mnie), jak możemy sprawdzić do jakiej przestrzeni nazw dana klasa należy, tak byśmy łatwo mogli sprawdzić, co trzeba dołączyć w sekcji "using", by nasz program kompilował się bez błędów...


Dodaj swój komentarz

»Zasady udzielania komentarzy

Autor:  
Komentarz:
Dodaj komentarz
© 2012 Onex Group
Onex Group O Onex Group  |  O CentrumXP.pl  |  Kontakt  |  Reklama
Nasze serwisy: CentrumXP.plXboxSpot.pl  |  Jama Mastaha