it-place.net > Уроци > Csharp-.NET
Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 Свойства на обектно-ориентираните езици
  1. Свойства
     
Автор  mara (12.11.2004 21:59)  съобщение до автора
Погледнат  6769 пъти  добави към любими
Оценка  добави коментар
Гласове  13  изпрати на приятел
Коментари  (4)  абонирай се за Csharp-.NET
    Страница 1 / 1

 



Обектите са основен градивен елемент в обектно-ориентираните езици за програмиране. Обектът има уникална идентичност и уникално поведение. В езиците за програмиране обектът се дефинира като екземпляр на клас. Всички приложения, създадени на обектно-ориентиран език за програмиране, се състоят от обекти.

Един език за програмиране спада към обектно-ориентираните езици, ако поддържа следните възможности:

  • Абстракция
  • Капсуловане
  • Наследяване
  • Полиморфизъм

Абстракция

При езиците за програмиране абстракцията позволява да се насочите към съществените аспекти на един обект и да пренебрегнете несъществените.
 Подобно на другите обектно-ориентирани езици за програмиране, Visual
Basic.NET също предлага абстракция чрез класове и обекти. Класът определя атрибутите и поведенията, които са общи за подобни обекти. Обектът е екземпляр на класа. Всеки обект има набор от характеристики или атрибути, които съставляват неговите свойства. Освен това всеки обект може да изпълнява набор от действия. Тези действия се наричат методи. Visual Basic.NET позволява да задавате свойствата и методите на обектите, докато създавате класове. Като програмисти използвате абстракцията за намаляване сложността на даден обект, като излагате само съществените му свойства и методи. Освен това абстракцията позволява да обобщавате един обект като тип данни. Обектите се обобщават като типове данни чрез деклариране на класове.


Капсуловане

Капсуловането (encapsulation) се нарича още и скриване на информация (information hiding) и означава скриване на несъществените подробности за един обект. Капсуловането е метод за прилагане на абстракцията. Както споменахме , абстракцията означава съсредоточаване върху съществените аспекти на един обект и пренебрегване на несъществените. Това се постига чрез капсуловане.
Капсуловането скрива от потребителя вътрешната реализация на класовете, т.е.капсуловането означава визуализиране само на свойствата и методите на един обект. То позволява на програмистите да скриват сложността на обекта и да използват различни реализации на един и същ обект.


Наследяване

Предишните версии на Visual Basic поддържаха наследяване на интерфейси, но не и наследяване на реализация. Visual Basic.NET поддържа и двете.Наследяването на реализация означава, че един клас произхожда от друг, вече съществуващ клас. Производният клас се нарича подклас (subclass), a класът, от който произхожда, се нарича базов клас (base class).
Подкласът наследява свойствата и методите на базовия клас. Освен това, към подкласа можете да добавяте методи и свойства, които да разширят функционалността на базовия клас. В производния клас можете също да пренапишете методите на базовия клас.Наследяването позволява да се създават йерархии от обекти. Да вземем за пример клас, наречен животни. Класът бозайници е производен на класа животни, a класът  котки е производен на класа бозайници.
По подразбиране всички класове, които създавате във Visual Basic.NET, могат да се наследяват. Наследяването позволява многократната употреба на код и създаването на сложни проекти на основата на по-прости. Да поясним: след като във Visual Basic.NET създадете един клас, можете да го използвате като базов клас за създаване на производни класове.Visual Basic.NET включва множество ключови думи за реализиране на наследяване.


Полиморфизъм

Полиморфизъм (polymorphism) е способността на един обект да съществува в различни форми. Полиморфизмът дава възможност да използвате един и същ метод за изпълнението на различни задания. Да поясним: в производните класове можете да променяте реализацията на метод от базовия клас. Следователно, когато от един базов клас създавате два производни класа, можете да създадете метод с едно и също име и в двата класа. Но методът във всеки от производните класове изпълнява различни задачи. Избирате кой метод да се извика в зависимост от това каква задача трябва да се изпълни.


За реализиране на обектно-ориентираните свойства във VisualBasic.NET,ако някой прояви интерес ще ви изпратя още материали.Малко е суха материя но е много важно за начинаещите.

Поздрави!



   


Ключови думи: Абстракция Капсуловане Наследяване Полиморфизъм обект .net обектно-ориентирани езици програмиране visual basic


Още уроци от тази рубрика


 
  • Подобни теми от myLinks
 

 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

И според мен определението за полиморфизъм не е много точно и повече се отнася за виртуални методи.Идеята на полиморфизма е в различните класове да има методи или пропъртита на класовете които да са с еднакви имена като не е задължително единия клас да е производен на другия.При виртуланите методи и свойства идва и наследяването тогава в производния клас се променят стойностите на наследените пропъртита и действието на методите.

  abozhilov на 26.05.2007 21:23

Както казваш в коментара си :
"kogato prenapisva6 metod na basov klas,v zavisimost ot obekta,koito go izvikva,tozi metod moge da izpalnqva razli4ni deistviq".
Наблягам на "v zavisimost ot obekta". Точно това имах предвид и аз в предния си коментар. В статията си написала : "в зависимост от това каква задача трябва да се изпълни", което според мен е неточно. Там се говори само за полиморфното извикване, не за методите с еднаква реализация за всички класове (т.е. NotOverridable).

  Izida на 25.11.2004 10:15

zdravei Izida,
Izvinqvai za zakasnenieto v otgovora no sega mi ostana vreme.Ta kakto ve4e spomenah polimorfizma pozvolqva da promenq6 realizaciqta na metodite,otbelqzani kato Overridable.Ot druga strana realizaciqta na metod kato NotOverridable,e edna i sa6ta,nezavisimo dali go izvikva6 ot klasa,v koito e declariran ili ot proizvoden klas.Da poqsnq:kogato prenapisva6 metod na basov klas,v zavisimost ot obekta,koito go izvikva,tozi metod moge da izpalnqva razli4ni deistviq.Nadqvam se da sam te ybedila.Ako ne bih ti izpratila malko kod za dopalnitelni poqsneniq.
Pozdravi

  mara на 23.11.2004 17:58

Не съм съгласна с последното изречение от точката "Полиморфизъм", а именно : "Избирате кой метод да се извика в зависимост от това каква задача трябва да се изпълни."
В крайна сметка не ние избираме, а и избора се прави не на база какво трябва да се изпълни, а КОЙ трябва да го изпълни. Ако изпълнителят е бозайник ще се движи по един начин, ако е птица - по друг.

  Izida на 17.11.2004 11:58

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008