コピー2019.01.07プロパティがおぼろげに分かってきたところで、次はポリモーフィズムを学習したいと思います。犬クラス(Dog)を追加しました。動物クラス(Animal)にもあるTalkメソッドを実装しています。test.exe哺乳類です名前はシロと言います『わんわん』takk@deb9:~/vbtest$問題ないですね。次は、動物クラスを継承して人間クラスも作りました。Class呼び出し部分は、こんな感じ。Classビルド、実行。哺乳類です名前はモモと言いますtakk@deb9:~/vbtest$あれ、何かおかしいです。人間クラスを作るとき、Talkメソッドが、Sayメソッドで実装してしまったのが原因です。Talkメソッドは動物クラスに空のメソッドとして存在するので、何も処理されなかったんですね。Classこんな間違いを起こさないために、Talkメソッドを強制的にオーバーライドさせることにします。動物クラスでTalkメソッドをMustOverrideをつけて抽象化します。25サブクラスでは、TalkメソッドにOverridesをつけます。Classでは、ビルド。00:00:00.5661270takk@deb9:~/vbtest$実行します。member:(null)takk@deb9:~/vbtest$なんてことでしょう。いえば、動物クラスに、MustInheritをつけるのを忘れてました。~省略~これでOKのハズです。哺乳類です名前はモモと言います『こんにちは』takk@deb9:~/vbtest$動きました。関連記事12.その他のツールとコマンドの連携Hyper-Vを使う(その3)前回作成した仮想マシンは、画面が中途半端な大きさなので、設定変更してディスプレイ全体に広げようと思います。/etc/default/grubを編集します。以下の画面の白く選択されている箇所を追記。解像度を1920x1...12.その他のツールとコマンドの連携Linux(mono)でVB、継承(その6)前回の犬は吠えてなかったので、msgもMyBaseに代入して、吠えさせます。犬クラスを派生させてドーベルマンクラスを作ってみます。作ってみましたが、何か変な感じです。犬クラス(Dog)とドーベルマン...12.その他のツールとコマンドの連携Linux(mono)でVB、プロパティ(その5)オブジェクト指向らしくと考え始めると、何も作れなくなるので、素直にプロパティを使ってAnimalに名前も保持することにします。あと、Tellメソッドも何をするメソッドか分かりにくいので、WhatIsThisという名前にしました。...12.その他のツールとコマンドの連携VBでテキストエディタを作ろう突然テキストエディタを作りたくなりました。Basicを使って作ってみます。VisualStudioのダウンロードから。...12.その他のツールとコマンドの連携Linux(mono)でVB、継承(その4)親クラスであるAnimalクラスのmsg変数を子クラスで利用したいので、Dogクラスでmsgを定義してはいけませんね。このように改良しました。ワンワンが言えるようになりました。Animalを継承して、猫も作...12.その他のツールとコマンドの連携Linux(mono)でVB、インデックス付きプロパティAnimalクラスの名前(Name)プロパティですが、名前って一つじゃない場合もありますね。今回は、プロパティをインデックス付きに変更してみます。インデックス付きに変更後。email.ホーム12.その他のツールとコマンドの連携スポンサーリンク広告プロフィール管理人:takketeお仕事:システムエンジニア日々何か向上したくて、もがいています。Policyホーム検索トップサイドバースポンサーリンク広告プロフィール管理人:takketeお仕事:システムエンジニア日々何か向上したくて、もがいています。thanksタイトルとURLをコピーしました。