You are on page 1of 16

Típusok

Típusok

Krizsán Zoltán1
[2012. március 12.]

Általános Informatikai Tanszék


Miskolci Egyetem

Objektumorientált programozás C# alapokon tananyag

Típusok
Típusok

Tartalom

Típusok
Bevezetés
CTS-CLS

Típusok
Típusok

Bevezetés

Outline

Típusok
Bevezetés
CTS-CLS

Típusok
Típusok

Bevezetés

Típus

I Meghatározza a tároló szükségletét.


I Deníció a memória értelmezésére, használatára (bitminta).
I Meghatározza, a
I legkisebb,
I legnagyobb lehetséges értéket.

I Deniálja a lehetséges m¶veleteket.


I Leírja az elemeit (osztály).
I Meghatározza, hol tárolódik (stach, heap).

Típusok
Típusok

Bevezetés

.NET-ben minden típus osztály

I .NET-ben minden típus osztály


I .NET-BEN MINDEN TÍPUS OSZTÁLY
I .NET-BEN MINDEN TÍPUS
OSZTÁLY

I .NET-BEN MINDEN
TÍPUS OSZTÁLY

Típusok
Típusok

Bevezetés

Beépített típusok

Típusok
Típusok

CTS-CLS

Outline

Típusok
Bevezetés
CTS-CLS

Típusok
Típusok

CTS-CLS

CTS - CLS

Típusok
Típusok

CTS-CLS

CLS

I CLS kompatibilitás az
[assembly:CLSCompliant(true)]attribútummal kapcsolható be.
I vagy fordító kapcsoló
I ilyenkor a nyelvi fordító szigorúbban ellen®riz.
public UInt32 ABC() {return 0;}
public void abc(){}

Típusok
Típusok

CTS-CLS

CLS

I Az el®z® kód a CLS kompatibilitás bekapcsolása nélkül


hibajelzés nélkül lefordul,de ha bekapcsoljuk, akkor:
I hiba1 : el®jel nélküli egész integer nem kompatibilis,
I hiba2 : a CLS nem case sensitive, így az ABC és az abc

ugyanaz!

Típusok
Típusok

CTS-CLS

érték - referencia

I Érték (value) a változó közvetlen tárolja az értéket.


I minden változó külön példány.
I bármelyiket változtatjuk nincs hatása a másikra.

I Referencia (reference) a változó csak az érték helyét tárolja.


I lehetséges, hogy 2 változó ugyanarra az objektumra referál.
I el®fordulhat, hogy egyiken változtatunk és megváltozik a másik

is.

Típusok
Típusok

CTS-CLS

Minden típus ®se

I object osztály minden típus ®se


I közevetlen

I közvetett

Típusok
Típusok

CTS-CLS

Érték típusok

I A System.ValueType leszármazottjai (aminek pedig az object)


I Mindegyiknek van paraméter nélküli konstruktora (default).
I value-type:
I struct-type (struktúra)
I enum-type (felsorolt)

Típusok
Típusok

CTS-CLS

Felsorolt típus

enum-declaration: attributesopt enum-modiersopt enum identier


integral-typeopt enum-body ;opt
I mez®k neve mögött egy konstans van.

I Ha nem adjuk meg 0,1,2,3...

I pl.: enum Color { Red, Green, Blue }

I pl.: enum Color: long { Red, Green, Blue }

I pl.: enum Color: int { Red = -1, Green = -2, Blue = -3 }

I pl.: enum Color { Red, Green = 10, Blue }

I pl.: enum Color { Red, Green, Blue, Max = Blue }

Típusok
Típusok

CTS-CLS

Struktúra típus

I struct-type: type-name, simple-type, nullable-type


I simple-type: numeric-type, bool
I numeric-type: integral-type oating-point-type decimal
I integral-type: sbyte byte short ushort int uint long ulong char
I oating-point-type: oat double

Típusok
Típusok

CTS-CLS

Boxing - unboxing

I Boxing: érték típusból -> referencia


I int i = 123; object box = i;

I Unboxing: referencia típusból -> érték


I object box = 123; int i = (int)box;

Típusok

You might also like