SlideShare a Scribd company logo
1 of 38
Лекц №6
Хичээлийн агуулга:
ОХП-ын ухагдахуунууд
Класс – аливаа зүйлийн төсөөлөл юм.
Объект – төсөөллөөс үүссэн бөгөөд дотооддоо далдалсан
өгөгдөл ба тэдгээр өгөгдөлтэй ажиллах үйлдлүүдээс бүтсэн нэгэн
зүйл юм.
Класс тодорхойлох
 [attributes] [modifiers] class identifier [:baselist] {class body}
Класс тодорхойлох
Атрибут нь тодорхой нэг зүйлийн талаар
нэмэлт мэдээлэл хавсаргахад хэрэглэгддэг.
Жишээлбэл:
классын
тухай
нэмэлт
мэдээлэл оруулж болно.
Атрибутуудыг дөрвөлжин хаалтан дотор
таслалаар тусгаарлан бичнэ.
[ClassDesc(Author="Knuth"), ClassDesc(Author="Ja
mes")]
Класс тодорхойлох
Классын хандалт хувиргагч нь класс руу
бусад ассемблей, ижил ассемблей, түүнээс
удамшсан классаас яаж хандаж болохыг
заана.
Классын хандалтыг заагаагүй бол үндсэн
internal хандалттай хандалттай болдог.
Класс тодорхойлох
Хандалт

Тайлбар

public

Класс руу дурын ассемблейгаас хандаж болно.

protected

Класс дотор тодорхойлогдсон класст
хэрэглэгдэнэ. Хандалт нь агуулагч класс эсвэл
агуулагчаас удамшсан классаар хязгаарлагдана.

internal

Ижил ассемблей дэх классудаас хандаж болно.

private

Класс дотор тодорхойлогдсон класст
хэрэглэгдэнэ. Хандалт нь агуулагч классаар
хязгаарлагдана.
Классын гишүүд
Үл өөрчлөгдөх утга.
Нэг const түлхүүр үгээр
тогтмолыг зарлаж болно.

хэд

хэдэн

Тогтмолыг зарлахдаа үндсэн төрлүүдийг
ашиглана.
Объектоор
болохгүй

дамжуулан

Тогтмолын
оноогддог.

утга

нь

тогтмолд

хандаж

хөрвүүлэлтийн

үед
Классын гишүүд
using System;
class Conversions {
public const double Cm = 2.54;
public const double Grams = 454.0 , km =
.62 ;
public const string ProjectName =
"Metrics";
}
Классын гишүүд
class ShowConversions{
static void Main() {
double pounds, gramWeight;
gramWeight = 1362;
pounds = gramWeight / Conversions.Grams;
Console.WriteLine("{0}
Grams=
Pounds", gramWeight,pounds);
Console.WriteLine("Cm per inch {0}", Conversions.Cm);
Conversions c= new Conversions(); // Create class
// This fails to compile. Cannot access const from object
Console.WriteLine("Cm per inch {0}", c.Cm);
}
}

{1}
Классын гишүүд
Өгөгдөл хадгалах хувьсагч
Утга нь ажиллах горимын үед өөрчлөгдөнө.
Талбарын төрлүүд нь үндсэн төрлүүдээр
хязгаарлагдахгүй
Талбарын хувиргагчид
static

Талбар нь объектод биш класст хамаарна.

readonly

Ийм талбарын утга нь зөвхөн байгуулагчаар буюу
зарлалтын үед тодорхойлогдоно.
Классын гишүүд
public class Upholstery{
public static readonly Upholstery silk = new Upholstery(15.00, 8);
public static readonly Upholstery wool = new Upholstery(12.00, 6);
public static readonly Upholstery cotton = new Upholstery(9.00, 6);
private double yardPrice;
private int deliveryWeeks;
private Upholstery ( double yrPrice, int delWeeks)
{
yardPrice = yrPrice;
deliveryWeeks = delWeeks;
}
Классын гишүүд
public double FabCost(double yards)
{
return yards * this.yardPrice;
}
public int DeliveryTime
{get { return deliveryWeeks;}}
public double PricePerYard
{get {return yardPrice;}}
}
Классын гишүүд
Класс дахь утгуудад хандах боломж олгоно.
Классын өгөгдлүүдрүү унших болон бичих
хандалтыг удирдахад ашиглагдана.

Синтакс:
[attributes] <modifier> <data type> <property name>
{
[access modifier] get
{ ...
return(propertyvalue)
}
[access modifier] set
{ ... Code to set a field to the keyword value }
}
Классын гишүүд
Value нь пропертид дамжуулсан утгыг заах
далд параметр
Get блок дахь код нь хандагч методын
үүргийг гүйцэтгэнэ. Энэ блокийг орхивол
зөвхөн бичих проперти болно.
Set блок дахь код нь өөрчлөгч методын
үүргийг гүйцэтгэнэ. Энэ блокийг орхивол
зөвхөн унших проперти болно.
Классын гишүүд
public class Upholstery {
private double yardPrice;
public double PricePerYard {
get {return yardPrice;}
set {
if ( value <= 0 )
throw new ArgumentOutOfRangeException("Price
must be greater than 0.");
yardPrice = value
}
}
…
}
Классын гишүүд
public class Upholstery {
private double yardPrice;
public double PricePerYard {
get {return yardPrice;}
set {
if ( value <= 0 )
throw new ArgumentOutOfRangeException("Price
must be greater than 0.");
yardPrice = value
}
}
…
}
Классын гишүүд
Тооцоолол үйлдэл хийх зорилго бүхий
класстай холбогдсон функц
Методуудын цуглуулга
төрхийг тодорхойлно.

нь

классын

зан

Методууд нь өөр хоорондоо толгойн
мэдээлэл болох методын нэр, параметрийн
нэр, төрлөөр ялгагдана.

Метод нь мөн буцах
хувиргагчтай байна.

утга,

хандалт
Классын гишүүд
Үзэгдэл
гэдэг
нь
объектын
төлөв
өөрчлөгдсөн тухай бусад класс буюу
объектод мэдээлэх арга
Ө.х. Прогармын ямар нэг функцийг өдөөх нь
үзэгдэл болдог. (хулганы товч дарах, Enter
товч дарах г.м)
Аливаа классын үзэгдлүүд нь хэрэглэгч
програмтай харьцахад үүсдэг үйлдлүүдийг
мэдээлдэг.
Үйлдлүүд нь үзэгдэл болон үзэгдлийг
боловсруулах методуудтай байдаг.
Классын гишүүд

Үзэгдлийн өдөөж байгаа нь нийтлэгч, түүнийг
барьж байгаа метод нь захиалагч, эдгээрийг
холбож байгаа объектыг төлөөлөгч гэж нэрлэдэг.
Классын гишүүд
Төлөөлөгч
• public delegate void EventHandler(object sender, EventArgs e);

Захиалагч
• this.button1.Click += new System.EventHandler(this.button1_Click);
Нийтлэгч

• private void button1_Click(object sender, EventArgs e) { }

 Object төрлийн sender параметр нь үзэгдэл үүсгэгчийг
заана.
 EventArgs төрлийн e параметр нь үзэгдэлтэй холбоотой
өгөгдлийг агуулна.
Классын гишүүд

Проперти:
•
•
•
•
•

өнгө
диаметр
өндөр
өргөн
хийлсэн, хийлээгүй

Метод :
• хий дүүргэх
• хийг нь гаргах

Үзэгдэл:
• цоолоход
хийгээ
алдана,
• амыг нь суллахад
агаарт дээшилнэ.
Классын гишүүд
Объекттой ажиллах
Объектыг үүсгэх хамгийн нийтлэг загвар нь
үйлдвэрийн арга юм. Энэ нь FCL-д
ашиглагддаг.
Энэ арга нь объектыг
объектыг тодорхойлно.

үйлдвэрлэдэг

Объект үүсгэх бүх нарийн ширийнийг
үйлдвэрлэгч хариуцна, захиалагч нь зөвхөн
ямар объект үүсгэх хүсэлтээ байгаа
үйлдвэрлэгчид хэлнэ.
Үйлдвэрийн загварыг хэрэглэх хэд хэдэн
тохиолдол байдаг.
Объекттой ажиллах

Нэг “үйлдвэр” класстай үйлдвэр
Объекттой ажиллах

Олон “үйлдвэр” класстай үйлдвэр
Объекттой ажиллах
Эксепшен боловсруулалтын гол утга нь
тооцоолоогүй нөхцөл үүссэн ч тасралтгүй
ажиллах найдвартай код бүтээхэд оршино.
.NET нь алдааны нөхцөлүүдтэй тэмцэхэд
Эксепшен боловсруулалт (SEH) гэсэн
техникийг ашигладаг.

багш: В.Нямсүрэн
Объекттой ажиллах
Алдааны нөхцөл (файл систем, техник эд
анги, фреймворкийн сангаас) үүсэх
Эксепшен
объект
(програмд
тооцоолоогүй онцгой нөхцөл үүсэн
тухай мэдээллийг агуулах объект)
үүсгэж
Урьдчилан бэлдсэн, алдаа боловсруулах
хэсэгрүү дамжуулна. (.NET орчинд
эксепшен объект нь кодын нэг хэсэгт
үүсэж нөгөө хэсэгрүү шидэгддэг. )
багш: В.Нямсүрэн
Объекттой ажиллах
Эксепшен нь объект байдлаар програмд дамжуулагдах бөгөөд энэ
объект нь эксепшений тухай мэдээлэл, түүнийг үүсгэсэн ассемблей,
дамжсан замын мэдээллүүдийг агуулна.
Хэрэв шидэгдсэн Эксепшенийг програм барихгүй бол CLR барьж
програмыг тасалдаг.
Эксепшен гарч болзошгүй болон гарсан үед боловсруулах код нь
заавал цуг байх албагүй. Эксепшен боловсруулах код нь тусдаа өөр
класс дотор байж болно.
Эксепшенүүд нь програмын, системийн аль ч түвшинд хэрэглэгддэг.

багш: В.Нямсүрэн
Объекттой ажиллах
Эксепшен бол объект юм
Бүх эксепшен объектууд System.Exception
классаас удамшдаг.

багш: В.Нямсүрэн
Объекттой ажиллах
C#-д
эксепшен
боловсруулахад
try/catch/finally бүтцийг ашиглана.

багш: В.Нямсүрэн
Объекттой ажиллах

catch

try

Энэ блок нь ямар төрлийн эксепшен барихыг
заасан шүүлтүүр илэрхийлэл, түүний араас
кодын биеийн хамт тодорхойлогдоно.

Энэ блок дотор бичигдсэн кодыг хамгаалалттай
муж гэж үздэг бөгөөд энэ мужид үүссэн
эксепшенийг
catch
эсвэл
finally
блокт
боловсруулна

Finally

Энэ блок нь эксепшен үүссэн, эс үүссэнээс үл
хамааран төгсгөлийн цэвэрлэгээ хийх кодууд
байрлана.

багш: В.Нямсүрэн
Удамшил,полиморфизм,
нэрийн орон зай

Удамшил
Полиморфизм
Класс болон бүтэц
Нэрийн орон зай
Удамшил гэж юу вэ?
Удамшил бол “is-a-kind-of” харьцааг
заадаг.
Олон классууд ижил аттрибут, үйл
ажиллагаатай байснаар кодын дахин
ашиглалт үр дүнтэй болно.
Жишээ нь:
 Үйлчлүүлэгч бол “is-a-kind-of” хүн
 Ажилчин бол “is-a-kind-of” хүн
Классаас хэрхэн удамшуулах
вэ?
Удамшсан класс нь суурь классаас
удамшина.
Шинж байдал,функц,өгөгдөл,үйл
ажиллагаа, үйл явц баригч эд бүгд
удамшиж болно.
Түлхүүр үг
 Inherits-Суурь классаас удамшиж буй
 Notinheritable-Удамшиж болохгүй
 Mustinherit-Классын объект үүсэх ѐсгүй.
Зөвхөн удамшуулж л болно.
Полиморфизм гэж юу вэ?
Суурь классаас хамааралтай.
Суурь классын функц нь удамшсан
класст очоод өөрчлөгдөнө
(сайжирна).
Basetex
calculateTex()

Basetex

Basetex

calculateTex()

calculateTex()
Класс болон бүтцийг харьцуулах
Класс

Бүтэц

Гишүүн өгөгдөл,функц, шинж
байдал

Гишүүн өгөгдөл,функц, шинж
байдал

Байгуулагч функцтэй

Байгуулагч функц байхгүй

Устгагч функцтэй

Устгагч функцгүй

Удамшуулан сайжирдаг

Удамшил байхгүй

Заалтат төрөл

Утгат төрөл
Классыг нэрийн орон зайд
байршуулах
Namespace бол байгууллагын систем
Namespace нь бүрэн заагддаг.
 Жишээ нь: system.windows.forms.button

Namespace оруулж ирэхдээ:
 Прожектын түвшинд Namespace агуулж буй
DLL файлыг заалтаар оруулж ирснээр
хэрэгжинэ.
 Imports түлхүүр үгийг ашиглана.

More Related Content

What's hot (20)

CS203 Лекц02 Oop
CS203 Лекц02  OopCS203 Лекц02  Oop
CS203 Лекц02 Oop
 
Лекц-3
Лекц-3Лекц-3
Лекц-3
 
C++
C++C++
C++
 
Ood lesson4
Ood lesson4Ood lesson4
Ood lesson4
 
Ogogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lektsOgogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lekts
 
Лекц №6
Лекц №6Лекц №6
Лекц №6
 
массив
массивмассив
массив
 
Java programchlal s.uuganbayr
Java programchlal s.uuganbayrJava programchlal s.uuganbayr
Java programchlal s.uuganbayr
 
CS203 Лекц01 Prefeace
CS203 Лекц01  PrefeaceCS203 Лекц01  Prefeace
CS203 Лекц01 Prefeace
 
Lec4 хereglegchiinpunkts
Lec4 хereglegchiinpunktsLec4 хereglegchiinpunkts
Lec4 хereglegchiinpunkts
 
Лекц 9(Заагч)
Лекц 9(Заагч)Лекц 9(Заагч)
Лекц 9(Заагч)
 
Java xelnii surax_bichig
Java xelnii surax_bichigJava xelnii surax_bichig
Java xelnii surax_bichig
 
Лекц №9
Лекц №9Лекц №9
Лекц №9
 
Lec3 c++operator
Lec3 c++operatorLec3 c++operator
Lec3 c++operator
 
класс диаграм
класс диаграмкласс диаграм
класс диаграм
 
Sw203 Lecture10 Polymorphism
Sw203 Lecture10 PolymorphismSw203 Lecture10 Polymorphism
Sw203 Lecture10 Polymorphism
 
It101 lab11 use case
It101 lab11 use caseIt101 lab11 use case
It101 lab11 use case
 
It101 7
It101 7It101 7
It101 7
 
Sw203 Lecture9 Encapsulation
Sw203 Lecture9  EncapsulationSw203 Lecture9  Encapsulation
Sw203 Lecture9 Encapsulation
 
өгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэсөгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэс
 

Viewers also liked

Viewers also liked (12)

Oop lect 10
Oop lect   10Oop lect   10
Oop lect 10
 
Sedev 1
Sedev 1Sedev 1
Sedev 1
 
Lec1
Lec1Lec1
Lec1
 
Java lecture5
Java lecture5Java lecture5
Java lecture5
 
Java lecture3
Java lecture3Java lecture3
Java lecture3
 
001 c++ class охп
001 c++ class охп001 c++ class охп
001 c++ class охп
 
Java лекц8
Java лекц8Java лекц8
Java лекц8
 
Microsoft access 2007
Microsoft access 2007Microsoft access 2007
Microsoft access 2007
 
Auto cad программын монгол ном
Auto cad программын монгол номAuto cad программын монгол ном
Auto cad программын монгол ном
 
C# hicheelin lekts
C# hicheelin lektsC# hicheelin lekts
C# hicheelin lekts
 
Diplomnii etsii huvilbar
Diplomnii etsii huvilbarDiplomnii etsii huvilbar
Diplomnii etsii huvilbar
 
Gosexem asuult 09
Gosexem asuult 09Gosexem asuult 09
Gosexem asuult 09
 

Similar to Лекц 6 - 7 (20)

3
33
3
 
33
3333
33
 
SW203 Lab9
SW203  Lab9SW203  Lab9
SW203 Lab9
 
Cs203 lecture 14 reflection
Cs203 lecture 14  reflectionCs203 lecture 14  reflection
Cs203 lecture 14 reflection
 
Lecture4
Lecture4Lecture4
Lecture4
 
Ood lesson12.1 ---------
Ood lesson12.1  ---------Ood lesson12.1  ---------
Ood lesson12.1 ---------
 
Pl lecture7
Pl lecture7Pl lecture7
Pl lecture7
 
Lecture3 4
Lecture3 4Lecture3 4
Lecture3 4
 
Sw203 Lecture7 Method Override
Sw203 Lecture7  Method OverrideSw203 Lecture7  Method Override
Sw203 Lecture7 Method Override
 
Dsi lec5
Dsi lec5Dsi lec5
Dsi lec5
 
001cclass 120926194905-phpapp02
001cclass 120926194905-phpapp02001cclass 120926194905-phpapp02
001cclass 120926194905-phpapp02
 
Lec04
Lec04Lec04
Lec04
 
Pl lecture6
Pl lecture6Pl lecture6
Pl lecture6
 
Лаборатор-3
Лаборатор-3Лаборатор-3
Лаборатор-3
 
Ood lesson5
Ood lesson5Ood lesson5
Ood lesson5
 
Lecture5 6
Lecture5 6Lecture5 6
Lecture5 6
 
Java lecture4
Java lecture4Java lecture4
Java lecture4
 
Java lecture4
Java lecture4Java lecture4
Java lecture4
 
visual programming lecture 2
visual programming lecture 2visual programming lecture 2
visual programming lecture 2
 
visual programming lecture 2
visual programming lecture 2visual programming lecture 2
visual programming lecture 2
 

More from Chinzorig Undarmaa (20)

Лабораторийн ажил 12
Лабораторийн ажил 12Лабораторийн ажил 12
Лабораторийн ажил 12
 
Лекц 8
Лекц 8Лекц 8
Лекц 8
 
Лекц 8
Лекц 8Лекц 8
Лекц 8
 
Лекц 8
Лекц 8Лекц 8
Лекц 8
 
Лекц 8
Лекц 8Лекц 8
Лекц 8
 
Хичээлийн тодорхойлолт
Хичээлийн тодорхойлолтХичээлийн тодорхойлолт
Хичээлийн тодорхойлолт
 
Бие даалтын удирдамж
Бие даалтын удирдамжБие даалтын удирдамж
Бие даалтын удирдамж
 
Лекц 1
Лекц 1Лекц 1
Лекц 1
 
Лекц 2
Лекц 2Лекц 2
Лекц 2
 
Лекц 3
Лекц 3Лекц 3
Лекц 3
 
Лабораторийн ажил 3 - 4
Лабораторийн ажил 3 - 4Лабораторийн ажил 3 - 4
Лабораторийн ажил 3 - 4
 
Лекц 4
Лекц 4Лекц 4
Лекц 4
 
Лабораторийн ажил 5 - 6
Лабораторийн ажил 5 - 6Лабораторийн ажил 5 - 6
Лабораторийн ажил 5 - 6
 
Лекц 5 - 6
Лекц 5 - 6Лекц 5 - 6
Лекц 5 - 6
 
Лабораторийн ажил 7
Лабораторийн ажил 7Лабораторийн ажил 7
Лабораторийн ажил 7
 
Лекц 7
Лекц 7Лекц 7
Лекц 7
 
Хичээлийн тодорхойлолт
Хичээлийн тодорхойлолтХичээлийн тодорхойлолт
Хичээлийн тодорхойлолт
 
Хичээлийн тодорхойлолт
Хичээлийн тодорхойлолтХичээлийн тодорхойлолт
Хичээлийн тодорхойлолт
 
Бие даалтын удирдамж
Бие даалтын удирдамжБие даалтын удирдамж
Бие даалтын удирдамж
 
Лабораторийн ажил 7
Лабораторийн ажил 7Лабораторийн ажил 7
Лабораторийн ажил 7
 

Лекц 6 - 7

  • 3. ОХП-ын ухагдахуунууд Класс – аливаа зүйлийн төсөөлөл юм. Объект – төсөөллөөс үүссэн бөгөөд дотооддоо далдалсан өгөгдөл ба тэдгээр өгөгдөлтэй ажиллах үйлдлүүдээс бүтсэн нэгэн зүйл юм.
  • 4. Класс тодорхойлох  [attributes] [modifiers] class identifier [:baselist] {class body}
  • 5. Класс тодорхойлох Атрибут нь тодорхой нэг зүйлийн талаар нэмэлт мэдээлэл хавсаргахад хэрэглэгддэг. Жишээлбэл: классын тухай нэмэлт мэдээлэл оруулж болно. Атрибутуудыг дөрвөлжин хаалтан дотор таслалаар тусгаарлан бичнэ. [ClassDesc(Author="Knuth"), ClassDesc(Author="Ja mes")]
  • 6. Класс тодорхойлох Классын хандалт хувиргагч нь класс руу бусад ассемблей, ижил ассемблей, түүнээс удамшсан классаас яаж хандаж болохыг заана. Классын хандалтыг заагаагүй бол үндсэн internal хандалттай хандалттай болдог.
  • 7. Класс тодорхойлох Хандалт Тайлбар public Класс руу дурын ассемблейгаас хандаж болно. protected Класс дотор тодорхойлогдсон класст хэрэглэгдэнэ. Хандалт нь агуулагч класс эсвэл агуулагчаас удамшсан классаар хязгаарлагдана. internal Ижил ассемблей дэх классудаас хандаж болно. private Класс дотор тодорхойлогдсон класст хэрэглэгдэнэ. Хандалт нь агуулагч классаар хязгаарлагдана.
  • 8. Классын гишүүд Үл өөрчлөгдөх утга. Нэг const түлхүүр үгээр тогтмолыг зарлаж болно. хэд хэдэн Тогтмолыг зарлахдаа үндсэн төрлүүдийг ашиглана. Объектоор болохгүй дамжуулан Тогтмолын оноогддог. утга нь тогтмолд хандаж хөрвүүлэлтийн үед
  • 9. Классын гишүүд using System; class Conversions { public const double Cm = 2.54; public const double Grams = 454.0 , km = .62 ; public const string ProjectName = "Metrics"; }
  • 10. Классын гишүүд class ShowConversions{ static void Main() { double pounds, gramWeight; gramWeight = 1362; pounds = gramWeight / Conversions.Grams; Console.WriteLine("{0} Grams= Pounds", gramWeight,pounds); Console.WriteLine("Cm per inch {0}", Conversions.Cm); Conversions c= new Conversions(); // Create class // This fails to compile. Cannot access const from object Console.WriteLine("Cm per inch {0}", c.Cm); } } {1}
  • 11. Классын гишүүд Өгөгдөл хадгалах хувьсагч Утга нь ажиллах горимын үед өөрчлөгдөнө. Талбарын төрлүүд нь үндсэн төрлүүдээр хязгаарлагдахгүй Талбарын хувиргагчид static Талбар нь объектод биш класст хамаарна. readonly Ийм талбарын утга нь зөвхөн байгуулагчаар буюу зарлалтын үед тодорхойлогдоно.
  • 12. Классын гишүүд public class Upholstery{ public static readonly Upholstery silk = new Upholstery(15.00, 8); public static readonly Upholstery wool = new Upholstery(12.00, 6); public static readonly Upholstery cotton = new Upholstery(9.00, 6); private double yardPrice; private int deliveryWeeks; private Upholstery ( double yrPrice, int delWeeks) { yardPrice = yrPrice; deliveryWeeks = delWeeks; }
  • 13. Классын гишүүд public double FabCost(double yards) { return yards * this.yardPrice; } public int DeliveryTime {get { return deliveryWeeks;}} public double PricePerYard {get {return yardPrice;}} }
  • 14. Классын гишүүд Класс дахь утгуудад хандах боломж олгоно. Классын өгөгдлүүдрүү унших болон бичих хандалтыг удирдахад ашиглагдана. Синтакс: [attributes] <modifier> <data type> <property name> { [access modifier] get { ... return(propertyvalue) } [access modifier] set { ... Code to set a field to the keyword value } }
  • 15. Классын гишүүд Value нь пропертид дамжуулсан утгыг заах далд параметр Get блок дахь код нь хандагч методын үүргийг гүйцэтгэнэ. Энэ блокийг орхивол зөвхөн бичих проперти болно. Set блок дахь код нь өөрчлөгч методын үүргийг гүйцэтгэнэ. Энэ блокийг орхивол зөвхөн унших проперти болно.
  • 16. Классын гишүүд public class Upholstery { private double yardPrice; public double PricePerYard { get {return yardPrice;} set { if ( value <= 0 ) throw new ArgumentOutOfRangeException("Price must be greater than 0."); yardPrice = value } } … }
  • 17. Классын гишүүд public class Upholstery { private double yardPrice; public double PricePerYard { get {return yardPrice;} set { if ( value <= 0 ) throw new ArgumentOutOfRangeException("Price must be greater than 0."); yardPrice = value } } … }
  • 18. Классын гишүүд Тооцоолол үйлдэл хийх зорилго бүхий класстай холбогдсон функц Методуудын цуглуулга төрхийг тодорхойлно. нь классын зан Методууд нь өөр хоорондоо толгойн мэдээлэл болох методын нэр, параметрийн нэр, төрлөөр ялгагдана. Метод нь мөн буцах хувиргагчтай байна. утга, хандалт
  • 19. Классын гишүүд Үзэгдэл гэдэг нь объектын төлөв өөрчлөгдсөн тухай бусад класс буюу объектод мэдээлэх арга Ө.х. Прогармын ямар нэг функцийг өдөөх нь үзэгдэл болдог. (хулганы товч дарах, Enter товч дарах г.м) Аливаа классын үзэгдлүүд нь хэрэглэгч програмтай харьцахад үүсдэг үйлдлүүдийг мэдээлдэг. Үйлдлүүд нь үзэгдэл болон үзэгдлийг боловсруулах методуудтай байдаг.
  • 20. Классын гишүүд Үзэгдлийн өдөөж байгаа нь нийтлэгч, түүнийг барьж байгаа метод нь захиалагч, эдгээрийг холбож байгаа объектыг төлөөлөгч гэж нэрлэдэг.
  • 21. Классын гишүүд Төлөөлөгч • public delegate void EventHandler(object sender, EventArgs e); Захиалагч • this.button1.Click += new System.EventHandler(this.button1_Click); Нийтлэгч • private void button1_Click(object sender, EventArgs e) { }  Object төрлийн sender параметр нь үзэгдэл үүсгэгчийг заана.  EventArgs төрлийн e параметр нь үзэгдэлтэй холбоотой өгөгдлийг агуулна.
  • 22. Классын гишүүд Проперти: • • • • • өнгө диаметр өндөр өргөн хийлсэн, хийлээгүй Метод : • хий дүүргэх • хийг нь гаргах Үзэгдэл: • цоолоход хийгээ алдана, • амыг нь суллахад агаарт дээшилнэ.
  • 24. Объекттой ажиллах Объектыг үүсгэх хамгийн нийтлэг загвар нь үйлдвэрийн арга юм. Энэ нь FCL-д ашиглагддаг. Энэ арга нь объектыг объектыг тодорхойлно. үйлдвэрлэдэг Объект үүсгэх бүх нарийн ширийнийг үйлдвэрлэгч хариуцна, захиалагч нь зөвхөн ямар объект үүсгэх хүсэлтээ байгаа үйлдвэрлэгчид хэлнэ. Үйлдвэрийн загварыг хэрэглэх хэд хэдэн тохиолдол байдаг.
  • 27. Объекттой ажиллах Эксепшен боловсруулалтын гол утга нь тооцоолоогүй нөхцөл үүссэн ч тасралтгүй ажиллах найдвартай код бүтээхэд оршино. .NET нь алдааны нөхцөлүүдтэй тэмцэхэд Эксепшен боловсруулалт (SEH) гэсэн техникийг ашигладаг. багш: В.Нямсүрэн
  • 28. Объекттой ажиллах Алдааны нөхцөл (файл систем, техник эд анги, фреймворкийн сангаас) үүсэх Эксепшен объект (програмд тооцоолоогүй онцгой нөхцөл үүсэн тухай мэдээллийг агуулах объект) үүсгэж Урьдчилан бэлдсэн, алдаа боловсруулах хэсэгрүү дамжуулна. (.NET орчинд эксепшен объект нь кодын нэг хэсэгт үүсэж нөгөө хэсэгрүү шидэгддэг. ) багш: В.Нямсүрэн
  • 29. Объекттой ажиллах Эксепшен нь объект байдлаар програмд дамжуулагдах бөгөөд энэ объект нь эксепшений тухай мэдээлэл, түүнийг үүсгэсэн ассемблей, дамжсан замын мэдээллүүдийг агуулна. Хэрэв шидэгдсэн Эксепшенийг програм барихгүй бол CLR барьж програмыг тасалдаг. Эксепшен гарч болзошгүй болон гарсан үед боловсруулах код нь заавал цуг байх албагүй. Эксепшен боловсруулах код нь тусдаа өөр класс дотор байж болно. Эксепшенүүд нь програмын, системийн аль ч түвшинд хэрэглэгддэг. багш: В.Нямсүрэн
  • 30. Объекттой ажиллах Эксепшен бол объект юм Бүх эксепшен объектууд System.Exception классаас удамшдаг. багш: В.Нямсүрэн
  • 32. Объекттой ажиллах catch try Энэ блок нь ямар төрлийн эксепшен барихыг заасан шүүлтүүр илэрхийлэл, түүний араас кодын биеийн хамт тодорхойлогдоно. Энэ блок дотор бичигдсэн кодыг хамгаалалттай муж гэж үздэг бөгөөд энэ мужид үүссэн эксепшенийг catch эсвэл finally блокт боловсруулна Finally Энэ блок нь эксепшен үүссэн, эс үүссэнээс үл хамааран төгсгөлийн цэвэрлэгээ хийх кодууд байрлана. багш: В.Нямсүрэн
  • 34. Удамшил гэж юу вэ? Удамшил бол “is-a-kind-of” харьцааг заадаг. Олон классууд ижил аттрибут, үйл ажиллагаатай байснаар кодын дахин ашиглалт үр дүнтэй болно. Жишээ нь:  Үйлчлүүлэгч бол “is-a-kind-of” хүн  Ажилчин бол “is-a-kind-of” хүн
  • 35. Классаас хэрхэн удамшуулах вэ? Удамшсан класс нь суурь классаас удамшина. Шинж байдал,функц,өгөгдөл,үйл ажиллагаа, үйл явц баригч эд бүгд удамшиж болно. Түлхүүр үг  Inherits-Суурь классаас удамшиж буй  Notinheritable-Удамшиж болохгүй  Mustinherit-Классын объект үүсэх ѐсгүй. Зөвхөн удамшуулж л болно.
  • 36. Полиморфизм гэж юу вэ? Суурь классаас хамааралтай. Суурь классын функц нь удамшсан класст очоод өөрчлөгдөнө (сайжирна). Basetex calculateTex() Basetex Basetex calculateTex() calculateTex()
  • 37. Класс болон бүтцийг харьцуулах Класс Бүтэц Гишүүн өгөгдөл,функц, шинж байдал Гишүүн өгөгдөл,функц, шинж байдал Байгуулагч функцтэй Байгуулагч функц байхгүй Устгагч функцтэй Устгагч функцгүй Удамшуулан сайжирдаг Удамшил байхгүй Заалтат төрөл Утгат төрөл
  • 38. Классыг нэрийн орон зайд байршуулах Namespace бол байгууллагын систем Namespace нь бүрэн заагддаг.  Жишээ нь: system.windows.forms.button Namespace оруулж ирэхдээ:  Прожектын түвшинд Namespace агуулж буй DLL файлыг заалтаар оруулж ирснээр хэрэгжинэ.  Imports түлхүүр үгийг ашиглана.