Примери класа

Пре него што наставимо са причом о класама, урадићемо неколико примера, да видите како то изгледа. Ови једноставни примери претпостављају да су и класа и главни програм смештени у једном фајлу. Касније ћемо видети како се у развојном окружењу Microsoft Visual Studio дефинишу класе.

1. Написати класу vozilo која садржи параметре возила (назив модела, назив произвођача, број врата и број точкова). У главном програму унети параметре возила и приказати их.
У овом примеру имамо једноставну класу која има само атрибуте са којима манипулишемо у главном програму. Унутар namespace одељка (који углавном има исто име као пројекат) дефинишу се све потребне класе. За наш пример имамо две класе: класу која има унапред дефинисано име Program унутар које се налази Main функција. Она се наводи на почетку namespace одељка. Иза ње се наводи дефиниција класе Vozilo.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace vozilo
{

public class Program
{
    // pocetak programa
    static void Main(string[] args)
    {
        Console.WriteLine("unesite osobine vaseg vozila");
        // kreiranje instance vozila, odnosno kreiranje objekta klase vozilo
        vozilo mojAuto = new vozilo();
        // popunjavanje atributa klase pomocu privremene promenljive s
        Console.Write("naziv modela = ");
        string s = Console.ReadLine();
        mojAuto.model = s;
        // popunjavanje atributa klase direktno
        Console.Write("NazivProizvodjaca = ");
        mojAuto.proizvodjac = Console.ReadLine();
        // unosimo ostale atribute. Za unosenje celobrojnih atributa pogodno je koristiti privremene promenljive
        Console.Write("broj vrata = ");
        s = Console.ReadLine();
        mojAuto.brojVrata = Convert.ToInt32(s);
        Console.Write("broj tockova = ");
        s = Console.ReadLine();
        mojAuto.brojTockova = Convert.ToInt32(s);
        // prikazivanje rezultata
        Console.WriteLine("vase vozilo je ");
        Console.WriteLine(mojAuto.proizvodjac + " " + mojAuto.model);
        Console.WriteLine("sa " + mojAuto.brojVrata + " vrata, " + "vozi se na " + mojAuto.brojTockova + " tocka");
        Console.ReadKey();
    }

}

public class vozilo
{
	public string model; // naziv modela
	public string proizvodjac; // naziv proizvodjaca
	public int brojVrata; // vroj vrata vozila
	public int brojTockova; // broj tockova
}

}

2. Саставити конзолну апликацију, где се уносе два броја и штампа њихов збир и разлика. Направити класу математика, и у оквиру ње две функције: за сабирање и одузимање.
И у овом примеру имамо једноставну класу која има само две методе zbir и razlika. Обе методе су јавне како би биле видљиве корисницима класе, имају по два улазна параметра типа double и враћају збир, односно разлику.

class Program
{
 static void Main(string[] args)       	
 {
 Matematika M = new Matematika();	// instanca klase matematika
 string prvi=Console.ReadLine();	//unosimo sa konzole prvi broj
 string drugi=Console.ReadLine();	//unosimo drugi broj
 double x=Convert.ToDouble(prvi);	// pretvorimo stringove u realne brojeve
 double y=Convert.ToDouble(drugi);	// pretvorimo stringove u realne brojeve
 Console.WriteLine ( "zbir je"+M.Zbir (x, y) ); //ovde pozivamo metodu Zbir za objekat M
 Console.WriteLine ("razlika je"+ M.Razlika (x, y) ); //ovde pozivamo metodu Razlika za objekat M
 Console.ReadKey();
 }
}

class Matematika  //definisali smo klasu matematika
{
 public double Zbir(double A, double B)     // metoda koja izracunava zbir
 {
 return A + B;                //vracanje vrednosti metode
 }
 public double Razlika(double A, double B)    // metoda koja izracunava razliku
 {
 return A - B;
 }
}

Вежбање
На основу овог примера, додајте још две методе класи Matematika који извршавају производ и дељење. Затим у коду испитајте функционисање ова два нова метода.

3. Креирати програм којим се уноси полупречник лопте, а исписује њена површина и запремина користећи класе и методе
Класа sfera из овог примера је потпуна класа, са атрибутима, конструктором и методама.

using System;
namespace sfera
{
    class Program
    {
        public static void Main(string[] args)
        {
            string poluprecnik=Console.ReadLine();
            double r, p, v;
            r=Convert.ToDouble(poluprecnik);// jos jedan nacin za pretvaranje unetog znaka sa tastature u realan broj
            Sfera loptica = new Sfera(r);
            p = loptica.povrsina(r);
            v = loptica.zapremina(r);
            Console.WriteLine("povrsina je"+Convert.ToString(p));// da bi se broj ispisao na ekranu najpre ga treba pretvoriti u string
            Console.WriteLine("zapremina  je"+Convert.ToString(v));
            Console.Write("Press any key to continue . . . ");// ispisuje poruku, ali kursor ne prelazi u novi red
            Console.ReadKey(true);
        }// kraj Main funkcije
    }// kraj klase Program
    class Sfera
    {
        public double poluprecnik; // atribut klase Sfera
        double pi = Math.PI;// u klasi Math postoji definisana konstanta π, tako da je mozemo na ovaj nacin koristiti u programu
        public Sfera(double poluprecnik)  //konstruktor
        {
            this.poluprecnik = poluprecnik;// pokazivac this sluzi da ukaze na tekuci objekat, odnosno na objekat za koji je pozvana data metoda (u ovom slucaju konstruktor)
        }
        public double povrsina(double poluprecnik) // metoda klase Sfera – vraca povrsinu sfere
        {
            return 4 * poluprecnik * poluprecnik * pi;
        }
        public double zapremina(double poluprecnik) // metoda klase Sfera – vraca zapreminu sfere
        {
            return (4 / 3) * Math.Pow(poluprecnik, 3) * pi;
        }
    }//kraj klase sfera
}// kraj namespace-a sfera

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се /  Промени )

Google photo

Коментаришет користећи свој Google налог. Одјавите се /  Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се /  Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се /  Промени )

Повезивање са %s