Top > Excel VBA ¤Ç¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó > Prototype¥Ñ¥¿¡¼¥ó
Top > Excel VBA ¤Ç¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó > Prototype¥Ñ¥¿¡¼¥ó
Prototype¥Ñ¥¿¡¼¥ó¤Î¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤òExcelVBA¤Çµ½Ò¤¹¤ë¤È°Ê²¼¤Î¤è¤¦¤Ë
¤Ê¤ê¤Þ¤¹¡£¥â¥¸¥å¡¼¥ë¤´¤È¤Ë¥×¥í¥°¥é¥à¤ò¼¨¤·¤Þ¤¹¡£
¤Ê¤ê¤Þ¤¹¡£¥â¥¸¥å¡¼¥ë¤´¤È¤Ë¥×¥í¥°¥é¥à¤ò¼¨¤·¤Þ¤¹¡£
Option Explicit
Public Sub use(pstrValue As String)
<font color="green">'</font>
End Sub
Public Function createClone() As clsIProduct
<font color="green">'</font>
End Function
Option Explicit
Public Function init1() As clsCManager
Dim obj As clsCManager
Set obj = New clsCManager
obj.init1
Set init1 = obj
End Function
Option Explicit
<font color="green">'HashMap ¤ò Collection ¤ÇÂåÍÑ</font>
Private mcolShowcase As Collection
<font color="green">'¥³¥ó¥¹¥È¥é¥¯¥¿</font>
Public Sub init1()
Set mcolShowcase = New Collection
End Sub
Public Sub register(pstrName As String, pobjProto As clsIProduct)
mcolShowcase.Add pobjProto, pstrName
End Sub
Public Function create(pstrProtoname As String) As clsIProduct
Dim objP As clsIProduct
Set objP = mcolShowcase.Item(pstrProtoname)
Set create = objP.createClone
End Function
Option Explicit
<font color="green">'¥¤¥ó¥¹¥¿¥ó¥¹¤Îclone¤ò¹Ô¤¦¤¿¤á¤Ë¥æ¡¼¥¶¡¼ÄêµÁ·¿¤ò»È¤¦¡£</font>
Public Type gtypCMessageBox
decochar As String
End Type
Public Function init2(pstrDecochar As String) As clsCMessageBox
Dim obj As clsCMessageBox
Set obj = New clsCMessageBox
obj.init2 pstrDecochar
Set init2 = obj
End Function
Option Explicit
Implements clsIProduct
<font color="green">'¥¤¥ó¥¹¥¿¥ó¥¹¤Îclone¤ò¹Ô¤¦¤¿¤á¤Ë¥æ¡¼¥¶¡¼ÄêµÁ·¿¤ò»È¤¦¡£</font>
Private mudtMember As gtypCMessageBox
<font color="green">'¥³¥ó¥¹¥È¥é¥¯¥¿</font>
Public Sub init2(pstrDecochar As String)
mudtMember.decochar = pstrDecochar
End Sub
<font color="green">'¥¤¥ó¥¹¥¿¥ó¥¹¤Î¥á¥ó¥Ð¾ðÊó¤Î¼èÆÀ½èÍý</font>
Public Property Get member() As gtypCMessageBox
member = mudtMember
End Property
<font color="green">'¥¤¥ó¥¹¥¿¥ó¥¹¤Îclone½èÍý</font>
Public Function clone2(pobjFrom As clsCMessageBox)
<font color="green"> '¥³¥Ô¡¼¸µ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Î¥á¥ó¥Ð¾ðÊó¤ò¼«Ê¬¼«¿È¤Î¥á¥ó¥Ð¾ðÊó¤Ë¥³¥Ô¡¼</font>
mudtMember = pobjFrom.member
End Function
<font color="green">'----------------------------------------</font>
<font color="green">'clsIProduct ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤ò</font>
<font color="green">'clsCMessageBox ·¿¤ÎÊÑ¿ô¤«¤é¤â¸Æ¤Ó½Ð¤»¤ë¤è¤¦¤Ë¤¹¤ë</font>
<font color="green">'----------------------------------------</font>
Public Sub use(pstrValue As String)
Dim lngLength As Long
Dim lngCnt As Long
lngLength = LenB(StrConv(pstrValue, vbFromUnicode))
For lngCnt = 1 To lngLength + 4
Debug.Print mudtMember.decochar;
Next lngCnt
Debug.Print
Debug.Print mudtMember.decochar & " " & pstrValue & " " & mudtMember.decochar
For lngCnt = 1 To lngLength + 4
Debug.Print mudtMember.decochar;
Next lngCnt
Debug.Print
End Sub
Public Function createClone() As clsIProduct
Dim objTo As clsCMessageBox
Set objTo = New clsCMessageBox
objTo.clone2 Me
Set createClone = objTo
End Function
<font color="green">'----------------------------------------</font>
<font color="green">' clsIProduct ¤Î¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹</font>
<font color="green">'----------------------------------------</font>
Private Sub clsIProduct_use(pstrValue As String)
Me.use pstrValue
End Sub
Private Function clsIProduct_createClone() As clsIProduct
Set clsIProduct_createClone = Me.createClone
End Function
Option Explicit
<font color="green">'¥¤¥ó¥¹¥¿¥ó¥¹¤Îclone¤ò¹Ô¤¦¤¿¤á¤Ë¥æ¡¼¥¶¡¼ÄêµÁ·¿¤ò»È¤¦¡£</font>
Public Type gtypCUnderLinePen
ulchar As String
End Type
Public Function init2(pstrUlchar As String) As clsCUnderLinePen
Dim obj As clsCUnderLinePen
Set obj = New clsCUnderLinePen
obj.init2 pstrUlchar
Set init2 = obj
End Function
Option Explicit
Implements clsIProduct
<font color="green">'¥¤¥ó¥¹¥¿¥ó¥¹¤Îclone¤ò¹Ô¤¦¤¿¤á¤Ë¥æ¡¼¥¶¡¼ÄêµÁ·¿¤ò»È¤¦¡£</font>
Private mudtMember As gtypCUnderLinePen
<font color="green">'¥³¥ó¥¹¥È¥é¥¯¥¿</font>
Public Sub init2(pstrUlchar As String)
mudtMember.ulchar = pstrUlchar
End Sub
<font color="green">'¥¤¥ó¥¹¥¿¥ó¥¹¤Î¥á¥ó¥Ð¾ðÊó¤Î¼èÆÀ½èÍý</font>
Public Property Get member() As gtypCUnderLinePen
member = mudtMember
End Property
<font color="green">'¥¤¥ó¥¹¥¿¥ó¥¹¤Îclone½èÍý</font>
Public Function clone2(pobjFrom As clsCUnderLinePen)
<font color="green"> '¥³¥Ô¡¼¸µ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Î¥á¥ó¥Ð¾ðÊó¤ò¼«Ê¬¼«¿È¤Î¥á¥ó¥Ð¾ðÊó¤Ë¥³¥Ô¡¼</font>
mudtMember = pobjFrom.member
End Function
<font color="green">'----------------------------------------</font>
<font color="green">'clsIProduct ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤ò</font>
<font color="green">'clsCUnderLinePen ·¿¤ÎÊÑ¿ô¤«¤é¤â¸Æ¤Ó½Ð¤»¤ë¤è¤¦¤Ë¤¹¤ë</font>
<font color="green">'----------------------------------------</font>
Public Sub use(pstrValue As String)
Dim lngLength As Long
Dim lngCnt As Long
lngLength = LenB(StrConv(pstrValue, vbFromUnicode))
Debug.Print """" & pstrValue & """"
Debug.Print " ";
For lngCnt = 1 To lngLength
Debug.Print mudtMember.ulchar;
Next lngCnt
Debug.Print ""
End Sub
Public Function createClone() As clsIProduct
Dim objTo As clsCUnderLinePen
Set objTo = New clsCUnderLinePen
objTo.clone2 Me
Set createClone = objTo
End Function
<font color="green">'----------------------------------------</font>
<font color="green">' clsIProduct ¤Î¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹</font>
<font color="green">'----------------------------------------</font>
Private Sub clsIProduct_use(pstrValue As String)
Me.use pstrValue
End Sub
Private Function clsIProduct_createClone() As clsIProduct
Set clsIProduct_createClone = Me.createClone
End Function
Option Explicit
<font color="green">'¥á¥¤¥ó½èÍý£±</font>
Sub main1()
Dim manager As clsCManager
Dim upen As clsCUnderLinePen
Dim mbox As clsCMessageBox
Dim sbox As clsCMessageBox
Dim p1 As clsIProduct
Dim p2 As clsIProduct
Dim p3 As clsIProduct
<font color="green"> '½àÈ÷</font>
Set manager = modCManager.init1
Set upen = modCUnderLinePen.init2("""")
Set mbox = modCMessageBox.init2("*")
Set sbox = modCMessageBox.init2("/")
manager.register "strong message", upen
manager.register "warning box", mbox
manager.register "slash box", sbox
<font color="green"> 'À¸À®</font>
Set p1 = manager.create("strong message")
p1.use "Hello, world."
Set p2 = manager.create("warning box")
p2.use "Hello, world."
Set p3 = manager.create("slash box")
p3.use "Hello, world."
End Sub
Top > Excel VBA ¤Ç¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó > Prototype¥Ñ¥¿¡¼¥ó
- ¥«¥Æ¥´¥ê¡§
- ¥Ñ¥½¥³¥ó
- ¥×¥í¥°¥é¥ß¥ó¥°
¤³¤Î¥Ú¡¼¥¸¤Ø¤Î¥³¥á¥ó¥È
13sqOy Major thankies for the blog.Really thank you!
VBADP06 - VBA �� Java �Υ��֥������Ȼظ��ץ����ߥ� - Seesaa Wiki�ʥ������� for ���ޡ��ȥե��� モンクレール 店舗 http://www.pslcbi.com/moncler2014.html
VBADP06 - VBA �� Java �Υ��֥������Ȼظ��ץ����ߥ� - Seesaa Wiki�ʥ������� for ���ޡ��ȥե��� モンクレール ダウン http://www.pslcbi.com/moncler2014.html
VBADP06 - VBA �� Java �Υ��֥������Ȼظ��ץ����ߥ� - Seesaa Wiki�ʥ������� for ���ޡ��ȥե��� モンクレール ダウン 2014 メンズ http://www.pslcbi.com/moncler2014.html
Xe4PSO <a href="http://pwxrhzwqiwde.com/">pwxrhzwqiwde</a>, [url=http://lqjcavassaso.com/]lqjcavassaso[/url], [link=http://tlznzyoturds.com/]tlznzyoturds[/link], http://glzufqimtdeg.com/