opublikował: norbertpisz, 2014-01-05

  • Wprowadzanie do programowania obiektowego w C#. Co to są obiekty, klasy, struktury, pola, właściwości, metody.


     

    • Po co jest programowanie obiektowe?

    W dzisiejszych czasach programy stają się coraz bardziej skomplikowane i rozbudowane. Załóżmy przypadek że mamy w naszym programie 100 funkcji. Musimy pamiętać każdą z nich i napisać je tak żeby były uniwersalne dla każdego wywołania. Aby ułatwić nam życie wprowadzono klasy, obiekty..
    Programowanie obiektowe upodabnia świat programowania do świata zewnętrznego. Np tworzymy obiekt człowiek i możemy mu nadać jakieś właściwości. Może to być wzrost, waga, wiek. Możemy także określić jego zachowania. W jaki sposób śpi, spożywa posiłki itp. 

    • Co to jest klasa?

    Klasa jest to pewien typ danych zdefiniowany przez nas. Możemy powoływać do życia instancje takiej klasy.

    Co może posiadać klasa?

    Konstruktory

    public klasa(){};

    Destruktor

    ~klasa(){}

    Stałe

    const int liczba=8;

    Pola

    int liczba;

    Właściwości

    string nazwa{get; set;}

    Indexery

    int this[int i]{}

    Operatory

    int ilosc= 100+2;

    Zdarzenia

    event zrob_cos idz;

    Delegaty

    delegate void zrob_cos{object sender, EventArgs e);

    Interfejsy

    interface intefejs{}

    Struktury

    struct struktura{}

    Metody

    int policz() {};

    Inne klasy

    class klasa_2{}

    - Klasa musi mieć nazwę.

    - Nie może być dwóch klas o takich samych nazwach w tej samej przestrzeni nazw.

    - Klasa może być pusta ale musi zawierać {}

    • Co to jest obiekt?

    Obiekt jest to powołana do życia instancja danej klasy. Jeśli stworzyliśmy klasę Człowiek to teraz powołuje do życia człowieka (np. Janusza). Możemy powołać wiele obiektów danej klasy. Każdy będzie miał takie same zachowania ale różne parametry.

    Np. powołujemy do życia Janusza i przypisujemy mu parametry;

    1. var Janusz = new Człowiek();  
    2. Janusz.waga = 100;  
    3. Janusz.wiek = 20;  
    4. Janusz.wzrost = 190;  

     

    • Co to są modyfikatory dostępu?

    Modyfikatory dostępu służą do zwiększenia bezpieczeństwa oraz do określenia kto może mieć dostęp do danej klasy lub jej składowych.

    public

    Każdy ma dostęp do elementu

    private

    Dostęp mają tylko elementy tej samej klasy lub struktury

    protected

    Dostęp mają elementy tej samej klasy oraz tych klas co dziedziczą

    internal

    Dostęp publiczny wewnątrz tego samego assembly

    protected internal

    Połączenie protected i internal

    Domyślnym modyfikatorem dostępu dla klas jest internal.

    Domyślnym modyfikatorem dostępu dla pozostałych składowych jest private;

    • Co to są pola i stałe?

    Jeśli wiesz co to jest zmienna to bez problemu zrozumiesz co to jest pole w danej klasie. Pole po prostu przechowuje jakąś wartość.

     

    1. public int liczba;  
    2. private const string sekret="hasl‚o";  
    3. private readonly int x=4;