Помогни ни да направим Uroci.net по - богат! Добави урок
Категории Други уроци Adobe Photoshop Adobe Illustrator Adobe Flash Adobe Fireworks DreamWeaver CSS и HTML Corel Draw Image Ready PHP SEO CMS Microsoft Windows Microsoft Word Microsoft Excel PowerPoint Microsoft Access Microsoft Publisher Linux Visual basic
JavaScript Ajax 3ds Max Maya 3D C++ Sound Forge Gimp SWiSH

Създаване на вашата първа Клас библиотека (Class Library)

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



В Solution Explorer, дясно кликване върху References за проект ShkolaClient и изберете Add Reference. Появява се диалоговия прозорец Add Reference. Клик върху страница Projects и ще видите вашия проект Shkola. Той е маркиран, но бутон OK е забранен, както виждате на Фигура 66. Кликнете бутон Select за да преместите Shkola в кутия Selected Components, и след това бутон OK.



Фигура 66 Диалоговия прозорец Add Reference.

Сега във формата към ShkolaClient, добавете бутон. Въведете следния код за събитийна процедура Button1_Click:

Protected Sub button1_Click(ByVal sender As Object, _

ByVal e As System.EventArgs) Handles button1.Click

Dim Uchenik As New Shkola.Uchenik()

Uchenik.FirstName = "Boyan"

msgbox(Uchenik.FirstName)

End Sub

Във VB6, можеше накратко така:

Dim Uchenik As New Uchenik()

Тук обаче този ред ще даде грешка, защото пълната квалификация е задължителна. Думата Shkola в този случай не е име на асембли; това е пространство от имена (namespace). За да разрешите проблема, можете да импортирате namespace съдържащо класа Uchenik. За тази цел отидете в началото на кода на модула и прибавете оператор Imports:

Imports Shkola

Във VB6 e така:

Dim Uchenik as Shkola.cUchenik

Set Uchenik = New Shkola.cUchenik

Във VB.NET, следните два метода са еквивалентни:

Dim KlasDascaliList As New Collection()

Public ReadOnly Property KlasDascali(ByVal iIndex As Integer) As KlasDascal

Get

Return CType(KlasDascaliList(iIndex), KlasDascal)

End Get

End Property

Вие подавате стойност на индекс и получавате обратно член на колекцията. Забележете, че KlasDascaliList е дефиниран като тип Collection, Option Strict предпазва от автоматична конверсия от тип Collection в тип KlasDascal. Затова трябва да използвате функция CType и да подадете и двете, обекта, който искате да конвертирате и типа на класа (или обекта) в който би трябвало да се конвертира.



- Свойства по подразбиране (Default Properties)

Свойства по подразбиране без параметри (without parameters) няма. Но ако свойството (property) има един или повече параметри, то може да е по подразбиране (default).

Свойство KlasDascali в Uchenik би могло да е default property. За да го направим по подразбиране прибавяме в началото думата Default:

Default Public ReadOnly Property _

KlasDascali(ByVal iIndex As Integer) As KlasDascal

Във вашата клиентска програма, можете да извикате свойството по подразбиране за обект Uchenik. Последните два реда код са еквивалентни:

Imports Shkola

...

Dim Uchenik As New Uchenik()

Dim Phys As New KlasDascal()

Phys = Uchenik.KlasDascali(1)

Phys = Uchenik(1) `еквивалентно на горния ред


- Конструктори (Constructors) във вашите класове

Класът Uchenik, който построихте няма конструктор; с други думи не беше на разположение Sub New, когато създадохте клас библиотеката.

Constructors могат да бъдат много полезни, защото позволяват да инстанцирате обект с готови стойности в себе си. Примерно, ако искате Uchenik да позволява да подавате UchenikID, когато искате да инстанцирате обект. Това означава, че искате да напишете код, за да създадете обект и в същото време да четете база данни и да попълвате свойствата за ученик. Вашата нова дефиниция за Sub New ще е:

Public Sub New(Optional ByVal iUchenikID As Integer = 0)

А следните редове код, ще ви позволят да инстанцирате обект с вече установени стойности:

Dim Uchenik As New Uchenik(1)

Dim Uchenik As Uchenik = New Uchenik(1) `еквивалентно на горния ред


- Класове без конструктори

Не е задължително вашите класове да имат конструктори. Ако използвате блок Class...End Class за създаване на нов клас, няма да е обезпечен класа със Sub New. Дали има конструктор или изпълнява System . ComponentModel .Component, класът си има методи и свойства и може да бъде създаден като всеки друг клас. Класът KlasDascali може да изглежда така:

Public Class KlasDascal

Dim miPhysID As Integer

Public Property KlasDascalID() As Integer

Get

Return miPhysID

End Get

Set

miPhysID = Value

End Set

End Property

Public ReadOnly Property Vuzrast() As Single

Get

`get Date of Birth (DOB)- получаване на дата на раждане

`изчисляване на Vuzrast от DOB

`връщане на Vuzrast

End Get

End Property

End Class


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

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

реклама

© Всички права запазени. 2006-2008. Created by: Site.bg
Препоръчваме: IT Новини | Кино и игри | Диплома.бг | Paparak.bg | Тунинг Портал | uchenik.com | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | AnimeS-bg.com | Фото Форум | Запознанства | Мрежа от приятели | IT Light | Spodeli.net | Фото-Култ | IDG.BG | Teenproblem.net | Блог - Образование | Fresh-BG.com | Hanovete.com | Bulfleet.com | Mythlands.com | Ohoboho.com | Казанлък.Com | News24 | Setcom.bg | Atol.bg | Elmaz.com | MobileBulgaria.com