英語で「継承する」は、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でのオブジェクト指向を覚えつつ、
このサンプルソースを叩いて叩いて、良いサンプルに仕上げていきます。
コメント