„Klasi (forritun)“: Munur á milli breytinga

Efni eytt Efni bætt við
mEkkert breytingarágrip
m sameina - en hálfgert klúður samt
Lína 26:
 
Á sama hátt er hægt að láta skil erfa skil en skil geta ekki erft klasa og klasi getur ekki erft skil.
 
'''Klasar''' eru til þess að skipta forriti niður í einingar og er eitt megineinkenni hlutbundinnar forritunar.
Klasar brjóta niður forritin þannig að það sé auðveldara að vinna með þau, ákveðnir hlutir um ákveðið efni er alltaf á sínum stað og við vitum hvar skal leita af þeim.
Ef við tökum bíl sem dæmi, þá gerum við klasa sem skilgreinir eigindi bílsins, sumsé nánari uppslýsingar, eins og að bíll hefur hurðir, dekk, lit og gerð. Eftir að við gerum klasann þá getum við gert eins mörg mismunandi tilvik af honum og við viljum. T.d. einn bíl með 4 hurðar, 15“ dekk, grænan og annan hins vegar með 5 hurðar, 17“ dekk og rauðan á lit.
Meginreglan er að skipta forritinu niður í einingar sem eru hannaðar á þann veg að breyting í einum klasa hafi sem minnst áhrif á aðra hluti forritsins til þess að auðvelda okkur við að smíða stór kerfi.
Það er hentugast að reyna að gera almennan klasa sem við getum endurnýtt þegar okkur vantar í önnu verkefni. Til þess að við þurfum ekki að skrifa klasa sem við eigum nú þegar til, og einnig að nýta klasa sem við erum þegar búin að prófa út í gegn og vitum að virkar mjög vel.
 
==Private, protected, og public==
Klasar geta verið skilgreindir sem ''public'', ''private'' or ''protected''. Þessir valmöguleikar skilgreina aðgengið í klasan.
 
'''Private''' óheimila aðgang til klasans, aðeins föll sem eru í klasanum sjálfum fá aðgang.
 
'''Protected''' leyfir klasanum sjálfum og öllum undir klösum að fá aðgang
 
'''Public''' þýðir að allir fá aðgengi, hann er alveg opin fyrir öllum.
 
Abstract klasi '''abstract class''' gengur út á það að hægt sé að skilgreina uppbyggingu klasans, segja hvaða breytur og föll hann inniheldur án þess að útfæra vinnuna sjálfa. Þeir sem að erfa abstract klasa verða að útfæra þau föll sem að eru ekki útfærð í abstract hlutanum. Abstract klasi er ekki eiginlegur klasi hann getur ekki keyrt og er bara notaður fyrir aðra klasa til að samnýta eiginleika.
 
Hlutrænn klasi '''concrete class''' þá vita þeir klasar sem að erfa hann ekki hvernig hann útfærir concrete föllin. Það er svipað og abstract.
 
=== Dæmi ===
<pre>
using System;
public class Hello
{
private string what;
public Hello(string s)
{
what = s;
}
public void Say()
{
Console.WriteLine("Hello " + what + "!");
}
}
public class Program
{
public static void Main(string[] args)
{
Hello helloWorld = new Hello("world");
helloWorld.Say(); // prints "Hello world!" onto the console
}
}
</pre>
Hérna er eitt dæmi, klasi sem við köllum Hello er gerður með smið sem tekur inn streng. Þegar við köllum á Say() fallið þá mun tilvik af Hello prenta Hello{what} á skjáinn.
 
== Heimildir ==
*{{enwikiheimild|Class (computer_science)|13. mars|2007}}
 
[[Flokkur:Forritun]]