我用類不多,沒經驗。問題如下
比如此刻有一輛車。車有 車型別 , 車牌 , 出廠日期.......屬性
我在模塊中宣告結構體型別,并定義全域結構體變數
---------------------------------------
private type tCar
CarType as string
CarID as string
end type
public Car as tCar
---------------------------------------
以上是沒有問題的。
在其他表單呼叫也沒有問題
如:Car.type = "奔馳"
================================
但時現在我不想用模塊做了,我想將他定義為一個類
我添加一個空白類,并命名為 cls_Car
在這個類中寫到
private type tCar
CarType as string
CarID as string
end type
public Car as tCar '這里就開始報錯了
----------------------------------------
編譯都編譯不過去,他提示public 全域宣告無法使用自定義型別·······
這是為什么?求您給我解釋一下其中的緣由。越仔細越好。我想學。
==========================================
以下是我試著用其他方法
在這個類中寫到
public CarType as string
public CarID as string
-----------------------------------------
其他表單中寫到
dim Car as New cls_Car
Car.Cartype = "奔馳"
這是可以的,跟我理解的類一樣。
========================================
還有一個問題 相信上面那個類中宣告全域結構體的問題解決了
下面這個肯定也就解決了,他們兩個報錯的性質一樣
假如此刻車上坐了人。那么 姓名 ,性別····就是他要有的屬性
我在cls_Car中寫到
private type tPerson
Name as string
Sex as Boolean
end type
private type tCar
CarType as string
CarID as string
Person() as tPerson '人數不確定,所以定義動態陣列
end type
public Car as tCar
'以上也是我最終想要達到的目的,可是編譯不過去
=================================
uj5u.com熱心網友回復:
我的解決方法是:把type改成類,把type成員變成類成員.uj5u.com熱心網友回復:
這樣說的話,那得建多少類啊。
這不是關鍵,關鍵是動態的建類。比如乘客數量不確定。
uj5u.com熱心網友回復:
1. 類多不要緊,只要你勤快;
2. 不確定數量的可以用collection.
Private Person as New Collection
這樣是弱型別的不但可以放Person類的物件,也可以放別的類的物件;
或者創建一個Collection類:
Private colPerson as new PersonCollection.
PersonCollection類里邊多載Collection的屬性和方法,入口處如add方法使用強型別的引數.
也可以.
在入口處
uj5u.com熱心網友回復:
集合類可以參考這篇文章,NewEnum方法需要在選單中找到該方法的屬性,并修改該方法ID.https://www.cnblogs.com/ayanmw/archive/2012/07/03/2575000.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/38703.html
標籤:VB基礎類
上一篇:求大神幫助一下!!!
