SlideShare a Scribd company logo
1 of 24
Класс ба Объект
Лекц №3
Багш Д.Ганцоож
 ОП-ын ухагдахуунууд
 Класс тодорхойлох
 Классын гишүүд
 Объекттой ажиллах
КЛАСС
 Атрибут нь тодорхой нэг зүйлийн талаар нэмэлт
мэдээлэл хавсаргахад хэрэглэгддэг. Жишээлбэл:
Классын тухай нэмэлт мэдээлэл оруулж болно.
 Атрибутуудыг дөрвөлжин хаалтан дотор таслалаар
тусгаарлан бичнэ.
Хандалт хувиргагч нь класс руу яаж хандаж
болохыг заана.
Дараах классыг бүрдүүлэх гишүүд байна. Тэдгээрийг өгөгдөл эзэмших
(тогтмол, талбар, проперти), үйлдэл гүйцэтгэх (байгуулагч, метод,
үзэгдэл) гишүүд гэж ангилаж болно.
Тогтмолыг const түлхүүр үгээр зарлана.
Нэг const үгээр хэд хэдэн тогтмол зарлаж
болно.
Тогтмол зарлахад string, double гэх мэт
төрлүүдээс ашиглах ёстой.
Объектоор дамжуулан тогтмолд хандах
боломжгүй.
Жишээ:
Өгөгдөл хадгалахад ашиглагдана. Жишээ:
Классын өгөгдлүүд рүү унших/бичих хандалтыг удирдахад
ашиглагдана. Жишээ:
Методууд нь нийлээд классын “авир төрх”-ийг тодорхойлно.
 Үзэгдэл гэдэг нь объектын төлөв өөрчлөгдсөн
тухай бусад класс буюу объектод мэдээлэх
арга
 Ө.х. Програмын ямар нэг функцийг өдөөх нь
үзэгдэл болдог ( хулганы товч дарах, Enter товч
дарах г.м)
 Аливаа классын үзэгдлүүд нь хэрэглэгч
програмтай харьцахад үүсдэг үйлдлүүдийг
мэдээлдэг.
 Үйлдлүүд нь үзэгдэл болон үзэгдлийг
боловсруулах методуудтай байдаг.
 Үзэгдлийн өдөөж байгаа нь нийтлэгч,
түүнийг барьж байгаа метод нь захиалагч,
эдгээрийг холбож байгаа объектыг
төлөөлөгч гэж нэрлэдэг.
 Төлөөлөгч
public delegate void EventHandler (object sender, EventArgse);
 Захиалагч
this.button1.Click += new System.EventHandler(this.button1_Click);
 Нийтлэгч
private void button1_Click(object sender, EventArgse) { }
 Object төрлийн sender параметр нь үзэгдэл үүсгэгчийг заана
 EventArgs төрлийн e параметр нь үзэгдэлтэй холбоотой
өгөгдлийг агуулна
 Объект үүсгэх
Объектыг үүсгэх хамгийн нийтлэг загвар нь
үйлдвэрийн арга юм. Энэ нь FCL-д ашиглагддаг.
Энэ арга нь объектыг үйлдвэрлэдэг объектыг
тодорхойлно.
Объект үүсгэх асуудлыг үйлдвэрлэгч хариуцна.
Захиалагч нь зөвхөн ямар объект үүсгэх хүсэлтээ
байгаагаа үйлдвэрлэгчид хэлнэ.
Үйлдвэрийн загварыг хэрэглэх хэд хэдэн
тохиолдол байдаг.
 Эксепшен(exception) боловсруулах
Эксепшен боловсруулалтын гол утга нь
тооцоолоогүй нөхцол үүссэн ч тасралтгүй
ажиллах найдвартай код бүтээхэд оршино.
.Net нь алдааны нөхцөлүүдтэй тэмцэхэд
Эксепшен боловсруулалт гэсэн техникийг
ашигладаг.
 Эксепшен боловсруулах техникийн үндсэн санаа:
 Эксепшен (exception) боловсруулах
Эксепшен нь объект байдлаар програмд
дамжуулагдах бөгөөд энэ объект нь Эксепшений
тухай мэдээлэл, түүнийг үүсгэсэн ассемблей,
дамжсан замын мэдээллүүдийг агуулна.
Хэрэв шидэгдсэн Эксепшенийг програм барихгүй бол
CLR барьж програмыг тасалдаг.
Эксепшен гарч болзошгүй болон гарсан үед
боловсруулах код нь заавал цуг байх албагүй.
Эксепшен боловсруулах код нь тусдаа өөр класс
дотор байж болно.
Эксепшенүүд нь програмын, системийн аль ч
түвшинд хэрэглэгддэг.
 Эксепшен (exception) боловсруулах
Хэвийн бус алдааны нөхцөл throw түлхүүр
үгийг ашиглан алдааг шиднэ.
throw new System.Exception();
C#-д эксепшен боловсруулахад
try/catch/finally бүтцийг ашиглана.
try {
// code that may cause an exception.
// It may consist of multiple lines of code.
}
//May contain any number of catch blocks.
catch (exception name) {
// Place code here that handles the exception.
// Catch block may contain a throw statement.
}
catch (exception name) {
// Place code here that handles the exception.
}
finally {
// this code is always executed whether or not an exception
// occurs.
}
static double Divide (double x, double y) {
if(y == 0)
throw new DivideByZeroException();
return x/y;
}
static void Main(string[] args) {
try {
if (args.Length != 2) {
throw new Exception(“Two numbers required.”);
}
double x = double.Parse(args[0]);
double y = double.Parse(args[1]);
Console.WriteLine(Divide(x, y) );
}
catch (Exception e) {
Console.WriteLine(e.Message);
}
finally {
Console.WriteLine(“Good Bye!”);
}
}

More Related Content

Viewers also liked (10)

Bma 349 advertising and promotions pitch
Bma 349 advertising and promotions pitchBma 349 advertising and promotions pitch
Bma 349 advertising and promotions pitch
 
Mi biografía
Mi biografíaMi biografía
Mi biografía
 
10 11
10 1110 11
10 11
 
4 2
4 24 2
4 2
 
05 use-case-modeling-1mon
05 use-case-modeling-1mon05 use-case-modeling-1mon
05 use-case-modeling-1mon
 
12
1212
12
 
7 8
7 87 8
7 8
 
DBprofile
DBprofileDBprofile
DBprofile
 
Pasion
PasionPasion
Pasion
 
Bma349 fraraccio hobart
Bma349 fraraccio hobartBma349 fraraccio hobart
Bma349 fraraccio hobart
 

Similar to 33 (20)

Лекц 6 - 7
Лекц 6 - 7Лекц 6 - 7
Лекц 6 - 7
 
Sw203 Lecture4 Class Object
Sw203 Lecture4  Class ObjectSw203 Lecture4  Class Object
Sw203 Lecture4 Class Object
 
visual programming lecture 2
visual programming lecture 2visual programming lecture 2
visual programming lecture 2
 
2
22
2
 
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
 
Lecture4
Lecture4Lecture4
Lecture4
 
Ood lesson12.1 ---------
Ood lesson12.1  ---------Ood lesson12.1  ---------
Ood lesson12.1 ---------
 
Sw203 Lecture9 Encapsulation
Sw203 Lecture9  EncapsulationSw203 Lecture9  Encapsulation
Sw203 Lecture9 Encapsulation
 
Ood lesson5
Ood lesson5Ood lesson5
Ood lesson5
 
Sw203 Lecture5 Class Acess Modifiers
Sw203 Lecture5 Class Acess ModifiersSw203 Lecture5 Class Acess Modifiers
Sw203 Lecture5 Class Acess Modifiers
 
Lec5 angi
Lec5 angiLec5 angi
Lec5 angi
 
C# hicheelin lekts
C# hicheelin lektsC# hicheelin lekts
C# hicheelin lekts
 
Lecture15
Lecture15Lecture15
Lecture15
 
Лекц-3
Лекц-3Лекц-3
Лекц-3
 
It101 lab9
It101 lab9It101 lab9
It101 lab9
 
It101 lab9
It101 lab9It101 lab9
It101 lab9
 
It101-lab9
It101-lab9It101-lab9
It101-lab9
 
Sw203 Lecture6 Inheritance
Sw203 Lecture6 InheritanceSw203 Lecture6 Inheritance
Sw203 Lecture6 Inheritance
 
Gosexem asuult 09
Gosexem asuult 09Gosexem asuult 09
Gosexem asuult 09
 

More from International Ulaanbaatar University (20)

Lec8
Lec8 Lec8
Lec8
 
Lec7
Lec7 Lec7
Lec7
 
Lec5 6
Lec5 6 Lec5 6
Lec5 6
 
Lec4
Lec4 Lec4
Lec4
 
Lec3
Lec3 Lec3
Lec3
 
Lec2
Lec2 Lec2
Lec2
 
Lec1
Lec1 Lec1
Lec1
 
Визуаль програмчлал бие даалт
Визуаль програмчлал бие даалтВизуаль програмчлал бие даалт
Визуаль програмчлал бие даалт
 
ОХШЗ - Бие Даалт
ОХШЗ - Бие ДаалтОХШЗ - Бие Даалт
ОХШЗ - Бие Даалт
 
Ood lesson11 sequence
Ood lesson11 sequenceOod lesson11 sequence
Ood lesson11 sequence
 
Ood lesson10 statechart
Ood lesson10 statechartOod lesson10 statechart
Ood lesson10 statechart
 
Ood lesson9 activity
Ood lesson9 activityOod lesson9 activity
Ood lesson9 activity
 
Ood lesson7,8 class
Ood lesson7,8 classOod lesson7,8 class
Ood lesson7,8 class
 
Ood lesson6 class
Ood lesson6 classOod lesson6 class
Ood lesson6 class
 
Ood lesson4
Ood lesson4Ood lesson4
Ood lesson4
 
Ood lesson3
Ood lesson3Ood lesson3
Ood lesson3
 
Ood lesson2
Ood lesson2Ood lesson2
Ood lesson2
 
Ood lesson1
Ood lesson1Ood lesson1
Ood lesson1
 
Lec13
Lec13Lec13
Lec13
 
Өгөгдлийн бүтэц 15
Өгөгдлийн бүтэц 15Өгөгдлийн бүтэц 15
Өгөгдлийн бүтэц 15
 

33

  • 1. Класс ба Объект Лекц №3 Багш Д.Ганцоож
  • 2.  ОП-ын ухагдахуунууд  Класс тодорхойлох  Классын гишүүд  Объекттой ажиллах
  • 4.
  • 5.
  • 6.  Атрибут нь тодорхой нэг зүйлийн талаар нэмэлт мэдээлэл хавсаргахад хэрэглэгддэг. Жишээлбэл: Классын тухай нэмэлт мэдээлэл оруулж болно.  Атрибутуудыг дөрвөлжин хаалтан дотор таслалаар тусгаарлан бичнэ.
  • 7. Хандалт хувиргагч нь класс руу яаж хандаж болохыг заана.
  • 8. Дараах классыг бүрдүүлэх гишүүд байна. Тэдгээрийг өгөгдөл эзэмших (тогтмол, талбар, проперти), үйлдэл гүйцэтгэх (байгуулагч, метод, үзэгдэл) гишүүд гэж ангилаж болно.
  • 9. Тогтмолыг const түлхүүр үгээр зарлана. Нэг const үгээр хэд хэдэн тогтмол зарлаж болно. Тогтмол зарлахад string, double гэх мэт төрлүүдээс ашиглах ёстой. Объектоор дамжуулан тогтмолд хандах боломжгүй.
  • 12. Классын өгөгдлүүд рүү унших/бичих хандалтыг удирдахад ашиглагдана. Жишээ:
  • 13. Методууд нь нийлээд классын “авир төрх”-ийг тодорхойлно.
  • 14.  Үзэгдэл гэдэг нь объектын төлөв өөрчлөгдсөн тухай бусад класс буюу объектод мэдээлэх арга  Ө.х. Програмын ямар нэг функцийг өдөөх нь үзэгдэл болдог ( хулганы товч дарах, Enter товч дарах г.м)  Аливаа классын үзэгдлүүд нь хэрэглэгч програмтай харьцахад үүсдэг үйлдлүүдийг мэдээлдэг.  Үйлдлүүд нь үзэгдэл болон үзэгдлийг боловсруулах методуудтай байдаг.
  • 15.  Үзэгдлийн өдөөж байгаа нь нийтлэгч, түүнийг барьж байгаа метод нь захиалагч, эдгээрийг холбож байгаа объектыг төлөөлөгч гэж нэрлэдэг.
  • 16.  Төлөөлөгч public delegate void EventHandler (object sender, EventArgse);  Захиалагч this.button1.Click += new System.EventHandler(this.button1_Click);  Нийтлэгч private void button1_Click(object sender, EventArgse) { }  Object төрлийн sender параметр нь үзэгдэл үүсгэгчийг заана  EventArgs төрлийн e параметр нь үзэгдэлтэй холбоотой өгөгдлийг агуулна
  • 17.  Объект үүсгэх Объектыг үүсгэх хамгийн нийтлэг загвар нь үйлдвэрийн арга юм. Энэ нь FCL-д ашиглагддаг. Энэ арга нь объектыг үйлдвэрлэдэг объектыг тодорхойлно. Объект үүсгэх асуудлыг үйлдвэрлэгч хариуцна. Захиалагч нь зөвхөн ямар объект үүсгэх хүсэлтээ байгаагаа үйлдвэрлэгчид хэлнэ. Үйлдвэрийн загварыг хэрэглэх хэд хэдэн тохиолдол байдаг.
  • 18.  Эксепшен(exception) боловсруулах Эксепшен боловсруулалтын гол утга нь тооцоолоогүй нөхцол үүссэн ч тасралтгүй ажиллах найдвартай код бүтээхэд оршино. .Net нь алдааны нөхцөлүүдтэй тэмцэхэд Эксепшен боловсруулалт гэсэн техникийг ашигладаг.
  • 19.  Эксепшен боловсруулах техникийн үндсэн санаа:
  • 20.  Эксепшен (exception) боловсруулах Эксепшен нь объект байдлаар програмд дамжуулагдах бөгөөд энэ объект нь Эксепшений тухай мэдээлэл, түүнийг үүсгэсэн ассемблей, дамжсан замын мэдээллүүдийг агуулна. Хэрэв шидэгдсэн Эксепшенийг програм барихгүй бол CLR барьж програмыг тасалдаг. Эксепшен гарч болзошгүй болон гарсан үед боловсруулах код нь заавал цуг байх албагүй. Эксепшен боловсруулах код нь тусдаа өөр класс дотор байж болно. Эксепшенүүд нь програмын, системийн аль ч түвшинд хэрэглэгддэг.
  • 21.  Эксепшен (exception) боловсруулах Хэвийн бус алдааны нөхцөл throw түлхүүр үгийг ашиглан алдааг шиднэ. throw new System.Exception(); C#-д эксепшен боловсруулахад try/catch/finally бүтцийг ашиглана.
  • 22.
  • 23. try { // code that may cause an exception. // It may consist of multiple lines of code. } //May contain any number of catch blocks. catch (exception name) { // Place code here that handles the exception. // Catch block may contain a throw statement. } catch (exception name) { // Place code here that handles the exception. } finally { // this code is always executed whether or not an exception // occurs. }
  • 24. static double Divide (double x, double y) { if(y == 0) throw new DivideByZeroException(); return x/y; } static void Main(string[] args) { try { if (args.Length != 2) { throw new Exception(“Two numbers required.”); } double x = double.Parse(args[0]); double y = double.Parse(args[1]); Console.WriteLine(Divide(x, y) ); } catch (Exception e) { Console.WriteLine(e.Message); } finally { Console.WriteLine(“Good Bye!”); } }