Помогни ни да направим Uroci.net по - богат! Добави урок

Принципи на обектно ориентираното програмиране

bubust   трудност:    видян: 18872

Както може би знаете, Visual Basic беше включил някои характеристики на обектно-ориентираното програмиране след версия 4. Въпреки това, в смисъла на обектната ориентация, преминаването от версия 6 към VB .NET беше драматично. Съвсем ясно е, че VB .NET е обектно-ориентиран програмен език. Може да си кажете: "Нямам предпочитания да използвам обектно - ориентирани техники на програмиране." Но структурата във VB .NET, на .NET Framework--специално на библиотека .NET Base Class Library--както и документацията, е така обектно-ориентирана, че вие няма да можете да ги ползвате ако не вникнете в същността на обектната ориентация.



Принципи на Object-Oriented Programming

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

· Абстракция - Abstraction

· Капсулация - Encapsulation

·Наследяемаст - Inheritance

· Полиморфизъм - Polymorphism

Всяка от тези концепции играе важна роля в програмирането под VB .NET на едно или друго ниво.

Капсулацията и абстракцията са "абстрактни" концепции, поддържащи мотивацията ни за обектно-ориентирано програмиране. Наследяемостта и полиморфизма са концепции, които директно се вплитат в програмирането под VB .NET.



- Абстракция



Накратко казано, абстракцията (abstraction) е набор от единици, които включват само тези аспекти, които са релевантни на отделната, конкретната ситуация. Например, да предположим, че искаме да създадем софтуер, който обслужва обезпечаването и запазването на информацията за служителите на едно училище. За тази цел, ние започваме със създаването на списък от елементи (членове - items) релевантни към нашата единица (служител на училището). Някои от тези елементи - items са:

· FullName - (пълно име)

· Address - (адрес)

· SlujashtID - (идентификационен номер)

· Zaplata- (заплата)

· IncZaplata - (нарастване на заплатата)

· DecZaplata - (намаляване на заплатата)

Забележете, че включваме не само свойства - properties на единицата, като FullName, но и акции - actions , които могат да бъдат предприемани спрямо тази единица, като например IncZaplata, за да се увеличи заплатата на служителя. Акциите могат да се свържат с методи (methods), операции (operations), или поведение (behaviors). Ще използваме понятието методи (methods), защото във VB .NET то се използва.

Разбира се ние никога няма да включим свойство HairCount, което да дава броя на космите на косата на служителя, въпреки, че всеки служител има такива, защото тази информация от гледна точка на компанията не е интересна.

Накратко, ние сме създали абстракция на концепцията за служител (Slujasht)--включили сме само тези свойства и методи на служителя, които са релевантни на нашите нужди. След като вече сме създали абстракцията, можем да започнем капсулирането (encapsulate) на тези свойства и методи вътре в софтуерния компонент.



Капсулация

Идеята за капсулацията е да се затворят (тоест, капсулират) свойствата и методите на абстракцията, и да се излагат (expose) само тези, които са абсолютно необходими. Всяко свойство и метод на абстракцията се нарича член (member) на абстракцията. Множеството от изложени (exposed) членове на абстракцията колективно се свързва с публичния интерфейс - public interface (или само interface) на абстракцията (или на софтуерния компонент, който капсулира абстракцията).

Капсулацията обслужва три полезни цели:

· Позволява протекция на тези свойства и методи за посегателства отвън.

· Допуска включване на валидизиращ код, за да се хващат грешките при използване на публичния интерфейс. Примерно проверка да не се въведе отрицателно число за заплата на служител.

· Освобождава потребителя от задължението да знае как са вложени свойствата и методите.

Например не ни трябва да знаем как Visual Basic съхранява в паметта целочислено число (Integer data type), или по-точно двоичният му код.



Фигура 60 .

8 битово двоично число



Примерно, най-старшият разряд b7 е знаков бит (sign bit). Когато е 1, числото е отрицателно, а когато е 0, положително.

Формулата за превръщането на числото b7b6b5b4b3b2b1b0 в десетично е:

decimal = -128b7 + 64b6 + 32b5 + 16b4 + 8b3 + 4b2 + 2b1 + b0

Ние просто записваме кода така:

x = -16

y = -x

и оставяме компютъра и програмния език да се грижат да представянето на числата. Eто това е капсулация. Само тази порция от свойства и методи, която е нужна, за да работим с целочислени (integer) числа се излагат (exposed) навън. Тази порция от публичния интерфейс е целочислен тип данни - Integer data type.

Нещо повече, капсулацията ни предпазва от грешки, записваме знак минус, а капсулирания тип данни си прибавя 1, автоматично.

· Капсулацията има и друга интересна черта. Всеки код написан за изложения интерфейсостава валиден, дори да се сменят отвън целите числа (Integer data type) по някаква причина, дотогава, докато интерфейсът не е сменен. Например ако преместим кода на компютър, който съхранява числата в друг код, нашият код пак ще си изглежда така:

x = -16

y = -x

точно толкова валиден както преди.


Страници: 1 2 »

Регистрирайте се, за да добавите коментар


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: Национален Бизнес | Bomba.bg | IT Новини | Диплома.бг | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | Фото Форум | Spodeli.net | Фото-Култ | Atol.bg | Elmaz.com | MobileBulgaria.com | Казанлък.Com