TOC

This article has been localized into Hungarian by the community.

Osztályok:

Bevezetés a C# osztályokba

Sok programozási útmutatóban az osztályokról sokkal később esik szó. Mi azonban előrébb vesszük ezt a témakört, mivel a C# nyelv hatalmas része az objektum-orientált programozás, ezáltal pedig az osztályok használata.

Egy osztály összetartozó változók és metódusok összessége. Az osztály leírja ezeket a dolgokat, általában az osztályból pedig egy példányt, avagy objektumot, hozunk létre. Egy objektumon ezután használhatóak az osztályban definiált változók és metódusok. Természetesen annyi példányt lehet egy osztályból létrehozni, amennyit csak szeretnénk. Az osztályok és az objektum-orientált programozás egy hatalmas témakör, ezzel fogunk ebben a fejezetben és pár későbbiben foglalkozni.

A Hello world fejezetben láttuk először az osztályok használatát, mivel C#-ban minden osztályokra alapul. A Hello world programot alapul véve írjunk hát egy saját osztályt:

using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Car car;

            car = new Car("Red");
            Console.WriteLine(car.Describe());

            car = new Car("Green");
            Console.WriteLine(car.Describe());

            Console.ReadLine();

        }
    }

    class Car
    {
        private string color;

        public Car(string color)
        {
            this.color = color;
        }

        public string Describe()
        {
            return "This car is " + Color;
        }

        public string Color
        {
            get { return color; }
            set { color = value; }
        }
    }
}

Sok új dolgot látni itt, de szinte mindent használtunk már egy korábbi fejezetben. Ahogy azt láthatni, a class kulcsszó használatával új osztályt definiáltunk, amit Carnak neveztünk. A könnyebb áttekinthetőség érdekében ugyanabba a fájlba tettük, mint a fő alkalmazást, de gyakorlatban általában minden osztály saját fájlban kap helyet. Egyetlen változó szerepel benne, amit colornak neveztünk, ebben az autó színét tároljuk. Fontos még, hogy private-ként jelöltük, ami jó gyakorlat, ugyanis a változókat kívülről úgynevezett property (tulajdonság) segítségével ajánlott hozzáférhetővé tenni. Ennek megfelelően egy Colornak nevezett propertyt is definiáltunk az osztály végén, aminek segítségével hozzáférhetünk a color változóhoz.

Emellett a Car osztályunk egy konstruktort is definiál. Egy string paramétert fogad el, ami lehetővé teszi, hogy a Car objektumainkat egy bizonyos színnel inicializáljuk. Mivel csak egyetlen konstruktor van az osztályban, ezért csak ezt lehet Car objektum készítésére használni. Az általunk írt Describe() metódus pedig visszaad nekünk egy üzenetet, ami a tárolt információt is tartalmazza.

A fő alkalmazásban deklarálunk tehát egy Car típusú változót. Ezután hozzárendelünk egy új Car objektumot, amit a "Red" paraméterrel inicializálunk. Az osztályunkban látható kód alapján ez azt jelenti, hogy a color változó az új objektumban a Red értéket kapja. Ennek ellenőrzése érdekében a Describe() metódust használjuk, majd bizonyítandó, hogy milyen könnyedén létrehozhatunk új példányt ugyanabból az osztályból, újabb objektumot kérünk, ezúttal másik színnel ("Green"). Megírtuk és használtuk is hát első működőképes osztályunkat.

A következő fejezetekben a tulajdonságok, konstruktorok, és a hozzáférhetőség fogalmait alaposabban vesszük majd.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!