英語で「継承する」は、inheritです。
inheritって単語が難しすぎます。日本語の継承でも難しいのに。
よみかたは、インヘリットでよいのでしょうか。
たまに、間違った読み方が浸透してるプロジェクトもあって、正しく読んでるこちらが恥ずかしくなる英単語とかありますよね。
haltをハルトって呼んでたり、Gitをジットと呼んでたり、話通じなくなりますね。
ホールト、ギット以外に読めないんだけどなあ。
inherit使ってみます。
まずは、この犬クラスを、アニマルクラスに変更してみます。
takk@deb9:~/vbtest$ cat -n test.vb | head -12
1 Imports System.Console
2
3 Public Class Dog
4 Private myname As String = "犬"
5 Private msg As String = "ワンワン"
6 Sub New()
7 WriteLine( myname & "です")
8 End Sub
9 Sub Bark()
10 WriteLine(msg)
11 End Sub
12 End Class
takk@deb9:~/vbtest$
動物に変えました。
takk@deb9:~/vbtest$ cat -n test.vb
1 Imports System.Console
2
3 Public Class Animal
4 Private myname As String = "動物"
5 Private msg As String = ""
6 Sub New(myname As String)
7 Me.myname = myname
8 End Sub
9 Sub Tell()
10 WriteLine( myname & "です")
11 End Sub
12 Sub Bark()
13 WriteLine(msg)
14 End Sub
15 End Class
16
17 Public Class TestClass
18 <STAThread()> _
19 Shared Sub Main()
20 dim app as new Animal("動物")
21 app.Tell()
22 End Sub
23
24 End Class
takk@deb9:~/vbtest$
次にこの動物を継承して犬を作って、使ってみます。
takk@deb9:~/vbtest$ cat -n test.vb
1 Imports System.Console
2
3 Public Class Animal
4 Private myname As String = "動物"
5 Private msg As String = ""
6 Sub New(myname As String)
7 Me.myname = myname
8 End Sub
9 Sub Tell()
10 WriteLine( myname & "です")
11 End Sub
12 Sub Bark()
13 WriteLine(msg)
14 End Sub
15 End Class
16
17 Public Class Dog
18 Private myname As String = ""
19 Private msg As String = ""
20 Sub New(myname As String)
21 Me.myname = myname & "犬"
22 End Sub
23 Sub Tell()
24 WriteLine( myname & "です")
25 End Sub
26 Sub Bark()
27 WriteLine(msg)
28 End Sub
29 End Class
30
31 Public Class TestClass
32 <STAThread()> _
33 Shared Sub Main()
34 dim akitaDog as new Dog("秋田")
35 akitaDog.Tell()
36 End Sub
37
38 End Class
takk@deb9:~/vbtest$
takk@deb9:~/vbtest$ vbnc test.vb Visual Basic.Net Compiler version 0.0.0.5943 (Mono 4.0.1 - tarball) Copyright (C) 2004-2010 Rolf Bjarne Kvinge. All rights reserved. Assembly 'test, Version=0.0, Culture=neutral, PublicKeyToken=null' saved successfully to '/home/takk/vbtest/test.exe'. Compilation successful Compilation took 00:00:00.5419950 takk@deb9:~/vbtest$ mono test.exe 秋田犬です takk@deb9:~/vbtest$
まあ、ぜんぜん意味のないサンプルになってます。
少しずつ、VBでのオブジェクト指向を覚えつつ、
このサンプルソースを叩いて叩いて、良いサンプルに仕上げていきます。


コメント