Objektum Orientált Programozás (kód elmélet)

Filed Under (elmélet, kód) by nameless on 16-07-2009

Tagged Under : , , ,

Objektum Orientált Programozás (kód elmélet):

using System;
 
namespace Program
{
    sealed class Radio
    {
        public void Power(bool turnOn)
        {
            Console.WriteLine("Radio on: {0}", turnOn);
        }
    }
 
    class Car
    {
        // az autónak van egy rádiója
        private Radio myRadio = new Radio();
 
        public void TurnOnRadio(bool onOff)
        {
            //Hívás továbbítása a belső objektumnak
            myRadio.Power(onOff);
        }
    }
 
    class MainClass
    {
        public static void Main()
        {
            //A hívás belső továbbítása a Radio osztáklynak
            Car viper = new Car();
            viper.TurnOnRadio(true);
 
            Console.ReadKey();
        }
    }
}

A Rádiót külön osztályba soroljuk, mert semmi köze sincs az autóhoz, csak annyi, hogy benne van…

Most írunk egy olyan programot, ami lemodellezi egy dolgos dolgozó munkáját:
Először hozzunk létre egy új alkalmazást EmployeeApp néven, és szúrjunk be egy új osztályt a Project -> Add class menüelemmel.
Módosítsuk az Employee osztályt a következő mezőkkel, metódusokkal és konstruktorokkal:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace EmployeeApp
{
    class Employee
    {
        //mezőadatok
        private string empName;
        private int empID;
        private float currPay;
 
 
        //lekérdező get metódus
        public string GetName()
        {
            return empName;
        }
 
        //Módosító set metódus
        public void SetName(string name)
        {
            empName = name;
        }
 
        //Konstruktorok
        public Employee() { }
        public Employee(string name, int id, float pay)
        {
            empName = name;
            empID = id;
            currPay = pay;
        }
 
        public void GiveBonus(float amount)
        {
            currPay += amount;
        }
        public void DisplayStats()
        {
            Console.WriteLine("Name: {0}",empName);
            Console.WriteLine("ID: {0}", empID);
            Console.WriteLine("Pay: {0}", currPay);
        }
 
    }
}

Main() rész:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace EmployeeApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Employee emp = new Employee("Marvin", 436, 3000);
            emp.GiveBonus(1000);
            emp.DisplayStats();
 
            //munka az objektum nevével a get/set módosítók segítségével
            emp.SetName("Marv");
            Console.WriteLine("Employee is named: {0}", emp.GetName());
 
            Console.ReadKey();
        }
    }
}

A projekt letöltése

Egységbe zárás propertykkel: (property, tulajdonságok, set, get)

Main rész:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace EmployeeApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Employee emp = new Employee("Marvin", 436, 3000);
            emp.GiveBonus(1000);
            emp.DisplayStats();
 
            //a Name tulajdonságok beolvasása és beállítása
            emp.Name = "Marv";
            Console.WriteLine("Employee is named: {0}", emp.Name);
 
            Console.ReadKey();
        }
    }
}

A hozzáadott osztály:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace EmployeeApp
{
    class Employee
    {
        //mezőadatok
        private string empName;
        private int empID;
        private float currPay;
 
 
        //tulajdonságok
        public string Name
        {
            get { return empName; }
            set { empName = value; }
        }
 
        public float pay
        {
            get { return currPay; }
            set { currPay = value; }
        }
 
        //Konstruktorok
        public Employee() { }
        public Employee(string name, int id, float pay)
        {
            empName = name;
            empID = id;
            currPay = pay;
        }
 
        public void GiveBonus(float amount)
        {
            currPay += amount;
        }
        public void DisplayStats()
        {
            Console.WriteLine("Name: {0}",empName);
            Console.WriteLine("ID: {0}", empID);
            Console.WriteLine("Pay: {0}", currPay);
        }
 
    }
}

Statikus tulajdonságok, statikus probertyk:

using System;
 
namespace Program
{
    class MainClass
    {
        public static void Main()
        {
            WebSite.WebName = "www.csharpkodok.atw.hu";
            Console.WriteLine(WebSite.WebName);
 
            Console.ReadKey();
        }
    }
 
    class WebSite
    {
        //statikus tulajdonsághoz a mezőnek is statikusnak kell lennie...
        private static string WebsiteName;
        public static string WebName
        {
            get { return WebsiteName; }
            set { WebsiteName = value; }
        }
    }
}

Post a comment