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

Класове и обекти

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

 
Или ако като Джон Конел простичко опишем класа, можем да си го представим като проект за построяване на къща, който представлява листове чертежи, размери и указания за предприемача - строител. Изградената къща по проекта е обекта.

Клас модули във VB .NET (Class Modules)

Под Visual Studio.NET, VB клас модулът е вмъкнат в проекта чрез подменю Add Class от меню Project. Включва се нов модул съдържащ кода:

Public Class ClassName

End Class

Въпреки че Visual Studio съхранява всеки клас в отделен файл, това не се изисква. Конструкцията е Class...End Class която маркира началото и края на дефиницията за клас. Така че, кодът на един или повече от един клас, както и на на един или повече от един модул код (конструкция Module...End Module) могат да се съдържат в отделен файл сорс код. Пример за VB клас модул (class module) e класът CChovek, дефиниран в следващата секция.



Членове на клас (Members)

Класовете дефинират свойства (properties), методи (methods), полета (fields), и събития (events) на обектите. Ако терминът поле (field) е нов за вас, нека да кажем, че това просто означава публична променлива (publicvariable) представена от класа; полетата са "мързелив начин" за създаване на свойства. Общо, properties, methods, fields, и events се наричат членове (members) на класа.



Във VB .NET, клас модулите могат да съдържат следните типове членове:

Data members- Данни

Включват променливи (наричани също така полета - fields) и константи.

Event members- Събития

Събитията са процедури, които се викат автоматично от Common Language Runtime в отговор на случващи се акции, като създаване на обект, кликване на бутон, промяна на част от данни или излизане на обект извън дефинираната област на действие (scope).

Function members-Функции

Важи за двете - функции и подпрограми. Функцията се нарича още метод - method. Клас конструкторът е специален тип метод.

Property members-Свойства

Свойството се изпълнява като Private променлива заедно със специален тип VB функция, която вмества двете функции за достъп (accessor functions) на свойството.

Type members-Типове

Член на класа може да е друг клас, известен като гнездови клас.

Класът CChovek който показваме, илюстрира някои от типовете членове:

Public Class CChovek

' Data Members

' Member variables

Private msName As String

Private miVuzrast As Integer

' Member constant

Public Const MAXVUZRAST As Short = 120

' Member event

Public Event Testing( )

' Function Members

' Method

Public Sub Test( )

RaiseEvent Testing( )

End Sub

' Property Members

Property Vuzrast( ) As Integer

' функции за достъп за свойството - property

Get

Vuzrast = miVuzrast

End Get

Set(ByVal Value As Integer)

' валидизация

If Value < 0 Then

MsgBox("Vuzrast cannot be negative.")

Else

miVuzrast = Value

End If

End Set

End Property

' Property

Property Name( ) As String

' функции за достъп за свойството - property

Get

Name = msName

End Get

Set(ByVal Value As String)

msName = Value

End Set

End Property

' предефиниран конструктор - Overloaded constructor

Overloads Sub New( )

End Sub

' конструктор, който инициализира името-name

Overloads Sub New(ByVal sNewName As String)

msName = sNewName

End Sub

Sub Dispose( )

' тук код за изчистване

End Sub

End Class

Таблица 2
Class характеристики
Class Характеристики
Sealed Забранено е добиването на Class (от него не може да се наследява).
Implements Договорите на интерфейса са преизпълнени за класа
Abstract Този клас не може да се инстанцира сам; за да го използвате,

Трябва да получите произхождащ от него клас--също като абстракните класове в C/C++.
Inherits Означава, че дефинирания клас ще наследи характеристиките

(properties, fields, methods) на класа написан до Inherits.Може да използвате тези характеристики или да се "възползвате"

(override) от тях.
Exported Този клас може да се види извън асемблито.
Not-Exported Този клас не може да се види извън асемблито.

ww.syngress.com



Публичен интерфейс на VB .NET Class (Public Interface)

Вече казахме, че когато говорим в генерални обектно-ориентирани понятия, представените (exposed) членове на софтуерните компоненти конституират публичния интерфейс - public interface (или само interface) на компонента. Сега, във VB .NET, всеки член на клас модул има тип за достъп - access type, който може да бъде Public, Private, Friend, Protected, или Protected Friend. Можем да кажем, че VB .NET клас модулът може съответно да има Public, Private, Friend, Protected, и Protected Friend членове.

Следователно срещаме някаква неяснота в дефинирането за концепция публичен интерфейс на VB .NET класа. Духът на понятието предполага, че бихме смятали всеки член, изложен отвън класа, като част от публичния му интерфейс. Биха се включили Protected, Friend, и Protected Friend членове, както и членове Public. От друга страна, може да се аргументира, че членове на публичния интерфейс би могло да се изложат отвън проекта при което класът решава, в кой случай само членовете Public биха се включили в интерфейса.

Таблица 3

Характеристики на членовете (Member)
Member Характеристики
Private Дефинира достъпността като позволена само или вътре в самия клас или член на гнездови клас вътре в същия клас..
Family Дефинира достъпността като позволена вътре в самия клас като член и подтип, който го наследява.
Assembly Дефинира достъпността като позволена само отвътре на асемблито, в което член е изпълнен. Family или Assembly клас.
Public Дефинира достъпността като позволена от всеки клас
Abstract Неизпълним член; като с C/C++, трябва да наследите класа от него с цел да се изпълни
Final Метод с инструкция final не може да бъде предефиниран - overridden; превенция
Overrides Използва се при виртуални методи; замества предефинираното изпълнение от произхождащ клас
Static Метод дефиниран като static съществува без да има нужда да се инстанцира и може да бъде достигнат във всички инстанции на класа
Overloads Методът, който се препокрива (overload) има същото име и същия код, но параметрите, реда им и викащата конвенция могат да са различни.
Virtual Използва се за създаване на виртуален метод със функционалност провеждана при предефиниране (Override)
Synchronized Лимитира изпълнението по една "нишка" (thread) наведнаж.



Всъщност не трябва да отдаваме голямо значение на точната дефиниция на VB .NET публичен интерфейс на клас и следва да дадем право на всеки да тълкува понятията по своя воля.


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

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


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