とりこらぼ。

Learn from yesterday,
live for today,
hope for tomorrow.

目次

Blog 利用状況

ニュース

プロフィール

  • 名前:とりこびと
    とるに足らない人間です。

  • Wankuma MVP
    for '平々凡々'

Web Site

  • Memo(Of T)

もうひとつの Blog

広告っぽい

書庫

日記カテゴリ

Visual Basic で○○を作ってみよう。その4。 - 基本クラスとか派生クラスとかつくってみたらええやん。-

Visual Basic で○○を作ってみよう。その1。 - とりあえずやってみたらええやん。-

Visual Basic で○○を作ってみよう。その2。 - クラスとかつくってみたらええやん。-

Visual Basic で○○を作ってみよう。その3。 - クラスとかつくってみたらええやん。その2。-

タイトルが内容をさらっと暴露してしまっていますが、凹まずにがんばります。いや、軽く凹みますけどがんばります。

前回の最後にこう↓書いていました。

前回は Bird クラスを作りました。そして今回は飛ぶという振る舞い(Fly メソッド)を持たせました。でもこの Bird クラス、頭の中に浮かんできますか?実は頭の中では、すずめさんやカモメさんといった飛びそうな鳥が浮かんでたりしませんか?あれれ、ペンギンさんが出てきちゃった(←お約束。)なんて人はいませんか?次回はこのあたりを考えていきます。

さくっと書きます。これ以降、

基本クラスとか派生クラスとかについて書きますから!

では基本クラ・・・ちょ、ちょっと待ってください。それより先に解決するべきことがあります。それはペンギンさんのこと(ここでいうペンギンさんは「飛べない鳥」を指します。)です。前回、Bird クラスは Fly メソッドを持たせました。なぜなら鳥は飛ぶと決めたからです。これによってペンギンさんはどうなるのかといいますと、

ペンギンさんは鳥じゃありません。(ごめんね。

これでペンギンさんについては解決です。だって鳥ではないんですから。逆に言うとペンギンさんを Bird クラス という枠に当てはめるなら、Fly メソッドを実装することが間違っていることになります。('羽が生えてる'とか'くちばし'とかになりますか。それでもはみ出る鳥はいるでしょうけど。)

では、ペンギンさんが好きな方にはここはぐっと我慢していただいて、基本クラスとか、派生クラスとか、ですが、まずはこう考えてください。

鳥って言われてもすずめさんとカモメさんじゃ飛び方が違うよね。

そうなんです、すずめさんとカモメさんは鳥だから飛ぶけど、その飛び方は同じではないのです。でも、間違いなく飛ぶのです、だって鳥ですから。(←言い回しがややこしいw

つまり、前回書いたコード↓の

Public Class Bird

  Public Sub Fly()
    ' 飛ぶ処理。
  End Sub
End Class

Fly メソッドの中のコードはすずめさんとカモメさんでは違うものになるね~ってことですね。さらにややこしくなる前にここでそれぞれの飛び方を決めておきましょうか。すずめさんはパタパタ飛びます、カモメさんはスイスイ飛びます。

この鳥は鳥なんだけど、その実体にはそれぞれ個性がある、なんて場合には、基本クラスとか派生クラスとかっていう考え方が有効です。すずめさんもカモメさんも各々が鳥の飛ぶという振る舞いに対する具体的な実装を持つわけですね。

とりあえず、このあたりの参考リンクです。このリンク先から辿れるリンクはどれもとても重要ですよ。

MSDN:Visual Basic の継承(http://msdn2.microsoft.com/ja-jp/library/5x4yd9d5(VS.80).aspx)

すこしちゃんとした言葉で書くと、「Bird クラス(鳥)を継承して Sparrow クラス(すずめさん)と SeaGull クラス(カモメさん)を作成する。」となります。

コードでこの継承を表現するには「Inherits ステートメント」を使用します。これ↓ですね。

MSDN:Inherits ステートメント(http://msdn2.microsoft.com/ja-jp/library/1yk8s7sk(VS.80).aspx)

Class 派生クラス
  Inherits 基本クラス

End Class

今回は Bird クラスを継承して、Sparrow クラス と SeaGull クラス を作成しますのでこんな感じ↓ですね。(それぞれSparrow.vb、SeaGull.vbというファイルに記述しましょう。)

Public Class Sparrow
  Inherits Bird

End Class
Public Class SeaGull
  Inherits Bird

End Class

これでSparrow クラス と SeaGull クラスはBird クラスを継承できました。・・・でも、まだやることはありますよね?そうです、

パタパタとか、スイスイとか

まだ実装してませんよね。あ!そこにいく前にひとつだけ。そもそも鳥ってあいまい過ぎやしませんか?「空を飛んでる鳥」なんて書けますけど、

実際に飛んでるのはすずめさんとかだったりしませんか?

鳥というものは実に抽象的な言い回しなんですね。Visual Basic にも、これを表現する方法があるのです。

MSDN:MustInherit(http://msdn2.microsoft.com/ja-jp/library/aee8f02w(VS.80).aspx)

Inherit に Must がついています。必ず継承しなければならない、です。さらに飛ぶというふるまい(Fly メソッド)も必ず、派生クラスでちゃんと実装を書かなくてはいけませんよね?(パタパタとか。)こちらも

MSDN:MustOverride(http://msdn2.microsoft.com/ja-jp/library/hyb29zk8(VS.80).aspx)

必ずオーバーライドしなければならない、なんてのがあります。オーバーライドについては

MSDN:プロパティとメソッドのオーバーライド(http://msdn2.microsoft.com/ja-jp/library/818x9db9(VS.80).aspx)

あたりを読むとなんとなく分かるでしょうか。さてさて、これらを Bird クラスに書き加えます。

Public MustInherit Class Bird

    Public MustOverride Sub Fly()
End Class

あらら、Bird クラスは 必ず継承しなくてはいけないし、Fly メソッドは必ずオーバーライドしなくてはいけなくなってしまいました。Sparrow クラス と SeaGull クラスはBird クラスを継承していますが、Fly メソッドをオーバーライドしていませんね。なのでそのあたりを修正しましょう。基本クラスのメソッドやプロパティをオーバーライドするには Overrides キーワードを使用します。

MSDN:Overrides(http://msdn2.microsoft.com/ja-jp/library/k777kzw1(VS.80).aspx)

Public Class Sparrow
    Inherits Bird

    Public Overrides Sub Fly()
        ' パタパタ飛ぶ処理をここに書くの。
    End Sub
End Class
Public Class SeaGull
    Inherits Bird

    Public Overrides Sub Fly()
        ' スイスイ飛ぶ処理をここに書くの。
    End Sub
End Class

と、こんな感じで、基本クラスと派生クラスをやってみましたよ、と。次回はこれって何のために?なんてあたりが書けるようにがんばりましょうか。


# なんかグダグダ・・・。orz



さて、最後になりましたが、前回のエントリのコメント欄で将軍様がいぢわるなことばっかり言ってくるのでそれに対する返答を考えてみましょう。

かずくん将軍の、

ひよこも鳥であろう?では、おぬしのとんちとやらを使って、余の前で飛ばせてみせよ

と、シャノン将軍のこれ↓

ひよこはいずれ鶏になろう。ところで、鶏は短距離であれば飛べる。さて、鶏は鳥か否か? なれば、ひよこは最初は鳥ではなかったものが鳥になるとは如何に?

とんちの枠を大幅にはみ出しているぢゃないか!なんて思いながら考えてきました。まずはひよこについて!

Bird クラスは卵から孵ってひよこになって大人になる、なんてことしないしー。

もちろん、雛かどうかの状態を持った Bird クラスを実装することもできるでしょう。しかし、それは今回は必要ないことなのです。Bird クラスは 鳥の飛ぶという振る舞いだけに着目して作ったクラスなのですから。将軍様もお人が悪い。

つづいて、鶏について!

っていうかー、あれで飛んでるとか、あたしは認めないしー。だから鳥ぢゃないしー。

私は鶏が飛べるということを否定します。なので私は今回においては鶏クラスは、Bird クラスを継承しません。このあたりはとても大切なことで、クラスを継承しようとする場合、その派生クラスは本当に基本クラスから派生していいのか、しっかり検討しなければいけません。


# すべては「いらんことを考えない」方向で片付けました♪

投稿日時 : 2007年5月2日 15:32

Feedback

# re: Visual Basic で○○を作ってみよう。その4。 - 基本クラスとか派生クラスとかつくってみたらええやん。- 2007/05/02 16:21 シャノン

今回の鳥クラスを例に取ると、この世のあらゆるものは「飛べる」か「飛べない」かに区分けできるので、「鳥」か「鳥でないもの」に明確に分けられます。
が、鶏みたいに「飛べるとも飛べないとも言い切れない」、言い換えれば「3割くらい鳥」っていうのについて、ちょっと前に考えてたことがありました。
#今は無意味だということに気づいて捨てました。

> Bird クラスは卵から孵ってひよこになって大人になる、なんてことしないしー。

それをする言語を考えると、それはそれで面白いw
#JavaScript なんかはできるはず。

今日の将軍様
> そもそも鳥ってあいまい過ぎやしませんか?
ほほぅ、ならばスズメやカモメは曖昧でないと申すか? 本当か?

# re: Visual Basic で○○を作ってみよう。その4。 - 基本クラスとか派生クラスとかつくってみたらええやん。- 2007/05/02 16:25 かるあ

ペンギンさんは飛びますよ!!まじで水の中だけど。
ほかの鳥とは飛び方が違うだけです。

# re: Visual Basic で○○を作ってみよう。その4。 - 基本クラスとか派生クラスとかつくってみたらええやん。- 2007/05/02 16:50 シャノン

さてどうしよう?
「鳥とは飛ぶものだ」と定義したはいいが、「飛ぶとはどういうことか?」を定義する必要性が出てきそうだぞw

# re: Visual Basic で○○を作ってみよう。その4。 - 基本クラスとか派生クラスとかつくってみたらええやん。- 2007/05/02 17:28 とっちゃん

生徒1「先生!UFO も Fly を実装してます!鳥でOKですか?だって、UFO の F はFlyingですよね?」

# re: Visual Basic で○○を作ってみよう。その4。 - 基本クラスとか派生クラスとかつくってみたらええやん。- 2007/05/02 17:40 backdoor

ネタなら全然OKですが、VBをよく知らない者にとっては
基本クラス、派生クラスに関しては解りやすかったけど、
参考URL頼りのオーバーライドの説明は手抜きかとwww

マジレス失礼。

# re: Visual Basic で○○を作ってみよう。その4。 - 基本クラスとか派生クラスとかつくってみたらええやん。- 2007/05/02 18:05 とりこびと

コメントありがとうございます。

# だいぶ突っつかれると思っていましたが・・・。

>>シャノンさん

>「3割くらい鳥」っていうのについて、ちょっと前に考えてたことがありました。

私もありますw
そして今は無意味だということに気づいて捨てましたw

>それをする言語を考えると、それはそれで面白いw
>#JavaScript なんかはできるはず。

で、それをエントリしていただけると。(ニヤリ

>「鳥とは飛ぶものだ」と定義したはいいが、「飛ぶとはどういうことか?」を定義する必要性が出てきそうだぞw

どこかで書かなきゃいけないことだと思っていましたが、そういうことですね。できるだけ厳密な定義と、共通認識が必要ですね。



>>今日の将軍様

>ほほぅ、ならばスズメやカモメは曖昧でないと申すか? 本当か?

ええ、私の中ではすずめさんはすずめさんです。種類があるなんてことは知りませんのでww(←単なるバカ。



>>かるあさん

>ペンギンさんは飛びますよ!!まじで水の中だけど。
>ほかの鳥とは飛び方が違うだけです。

そもそも「飛ぶ」ということの定義があいまいなのですね。m(_ _)m
私にとってはあれは「泳ぐ」なのです。



>>とっちゃん (生徒1)さん

>「先生!UFO も Fly を実装してます!鳥でOKですか?だって、UFO の F はFlyingですよね?」

そのコメント自体がフライングです!wwww



>>backdoorさん

>参考URL頼りのオーバーライドの説明は手抜きかとwww

そうですね。申し訳ありません。m(_ _)m
後でちゃんとフォロー入れます。

>マジレス失礼。

いえいえ、ありがとうございます。助かります。

コメント欄はボケなきゃいけないわけではないですから♪
# ・・・と、あいまいなコメント欄の定義。

# re: Visual Basic で○○を作ってみよう。その4。 - 基本クラスとか派生クラスとかつくってみたらええやん。- 2007/05/02 18:13 シャノン

> で、それをエントリしていただけると。(ニヤリ
このへん見れ。
http://blogs.wankuma.com/kacchan6/archive/2007/05/02/75256.aspx

> 私の中ではすずめさんはすずめさんです。
例えば、俺が飼っている雀のジョリーと、その辺を飛んでいる野良雀は、本当に「雀」としてひとくくりにしていいものですか? という。

> 先生!UFO も Fly を実装してます!鳥でOKですか?

OKな言語もあります(ダックタイピングと言います)。
が、<s>性的</s>静的な型付けの言語では、「鳥はすべて飛ぶ。しかし、飛ぶものがすべて鳥とは限らない」ということになると思います。

# re: Visual Basic で○○を作ってみよう。その4。 - 基本クラスとか派生クラスとかつくってみたらええやん。- 2007/05/02 23:00 とっちゃん

>OKな言語もあります
φ(..)メモメモ
エロイ言語はだめと...<そこじゃねーよ!

型推論とか、ジェネリックプログラミングの世界か。
C#3.0 の var とかちかいのかな?
Wiki(J) によると
>If it walks like a duck and quacks like a duck, it must be a duck
が由来といってもいいのかな?
#これ知ってたけどだれが言ったのかはしらなかったw


>そのコメント自体がフライングです!wwww
Unkownだからダメとか言ってほしかったのに~ww
#確信犯w

# re: Visual Basic で○○を作ってみよう。その4。 - 基本クラスとか派生クラスとかつくってみたらええやん。- 2007/05/02 23:14 かるあ

動的な片付けの言語でも一度遺伝子に加えてしまうとそれ以降みんなそうなっちゃうかな?
まぁそのたびに消せばいいんだけれど。。。

でも先祖を消してしまうと子孫の振る舞いも変わってしまうんですよね。。。
このあたりは amachang さんの blog にいいサンプルがある。
http://d.hatena.ne.jp/amachang/20061019/1161201903

# re: Visual Basic で○○を作ってみよう。その4。 - 基本クラスとか派生クラスとかつくってみたらええやん。- 2007/05/03 20:18 かるあ

あっ弾さんのところも
http://blog.livedoor.jp/dankogai/archives/50663122.html

本筋から外れ始めてる?ごめんなさい

# re: Visual Basic で○○を作ってみよう。その4。 - 基本クラスとか派生クラスとかつくってみたらええやん。- 2007/05/07 9:20 とりこびと

コメントありがとうございます。


>>シャノンさん

>このへん見れ。

見てきました。ちょっとお勉強が必要です。(ToT)

>>例えば、俺が飼っている雀のジョリーと、その辺を飛んでいる野良雀は、本当に「雀」としてひとくくりにしていいものですか? という。

ジョリーと野良雀は、雀ではないのですか?
って、この質問自体がおかしいですね。日本語として難しいのですが、雀は雀、Sparrow ClassはSparrow Class、で、伝わりますか?


><s>性的</s>静的な型付けの言語では、「鳥はすべて飛ぶ。しかし、飛ぶものがすべて鳥とは限らない」ということになると思います。

そゆことになりますね。ってコメント欄がフライン(ry
# 気にしてないですけどw



>>とっちゃんさん

>エロイ言語はだめと...<そこじゃねーよ!

Erotic と Static って似てますもんねwwww

>型推論とか、ジェネリックプログラミングの世界か。

個人的には静的でないと(スキル的に)安心できないのですけどね。

>#確信犯w

やっぱりかー!!ww



>>かるあさん

コメント欄がこのブログの要です。よろしくお願いしますwww

で、頂いたコメントですが・・・ちょっくらお勉強してきます。(ToT)

# re: Visual Basic で○○を作ってみよう。その4。 - 基本クラスとか派生クラスとかつくってみたらええやん。- 2007/05/07 12:12 シャノン

> ジョリーと野良雀は、雀ではないのですか?

結論から言えば、どちらも雀で構いません。

しかし、ジョリーには「ジョリー」という名前があります。「飼い主」という属性もあります。野良雀には、それらがありません。
こういった違いがあるのに、なぜ、同じ「雀」という枠に収めていいのか…ということです。

今、目の前に2羽の雀がいたとして、この2羽の雀には、いくらでも相違点を見出すことができます。年齢、立ち位置、羽毛の本数、果ては体を構成する元素に至るまで…「完全に同じもの」というのは、この世に2つは決してありません。
にもかかわらず、我々は至極当然に「どちらも雀である」と認識します。
しかし、相違点がある以上、「違うものである」という判断も正解の場合があり得ます。

どちらも同じ「雀」なのは、名前とか飼い主とか年齢とか立ち位置とか羽毛の本数とか元素とかを「要らないものとして切り捨てた=抽象化した」からです。
abstract とか MustInherit とかつくクラスばかりが抽象的なのではなく、クラスはすべて抽象的なのです、ということでした。
言ってしまえば、本当に「具体的なもの(抽象的でないもの)」など、この世に何一つあり得ません。対象のあらゆる属性を一つも捨てることなく観察するのは、人間の能力の限界を超えてしまうからです。

# re: Visual Basic で○○を作ってみよう。その4。 - 基本クラスとか派生クラスとかつくってみたらええやん。- 2007/05/07 18:17 とりこびと

シャノンさん、コメントありがとうございます。

人間ってうまくできていますね。
頂いたコメントを拝見するに「クラスを作る」、つまり抽象化するということ自体はそれほど難しいことでは無いのでしょう。
もともとそういう考え方を持っているわけですからね。

さて、すべてのものはすでに抽象化されて認識しているという前提でなにが問題かといわれると、俗っぽいですが「一般的」の指すところでしょうか。
「鳥は火を噴かない」ということをすべての人が認めるとも限らないのと同じように、「鳥は飛ぶ」ということもすべての人が認めるとも限らないのですしね・・・。(そのパーセンテージは別にして。)

うぅむ・・・。興味の尽きないお話ですね。

# re: Visual Basic で○○を作ってみよう。その4。 - 基本クラスとか派生クラスとかつくってみたらええやん。- 2007/05/07 19:30 シャノン

> 人間ってうまくできていますね。

そうなんです。
だから、オブジェクト指向が登場する前のプログラミングが機械寄りだったのに対して、オブジェクト指向は、より人間寄りなのですね。
しかしながら、今回のような「鳥とは何ぞ?」みたいな問いを発すると、オブジェクト指向分析・設計に首を突っ込まなければいけません。
が、オブジェクト指向を学習しようとする初心者は、まず機械寄りな、プログラミング言語の機能とかから入りますよね。
クラスとは何ぞ、継承とは何ぞといった、オブジェクト指向の根源的な問いには、言語に精通しているより、分析・設計に首を突っ込んでいる方が答えやすいと思うのです。
そのあたりが何だかもどかしい昨今です。

> 「鳥は飛ぶ」ということもすべての人が認めるとも限らないのですしね・・・。(そのパーセンテージは別にして。)

そうです。
「そのパーセンテージは別にして」というのが重要ですね。
我々が普段、何気なく客観的な事実だと思っていることも(地球は丸くて太陽の周りをまわっているということでさえ)、実は、そのパーセンテージが限りなく100%に近い偏見に過ぎないのです。
しかし、だからと言って、それは間違いだ(とは言わないまでも、客観的でないことに価値は無い)と言ってしまうと、何もできません。人間は真に客観的な視点を持てません。
対象を分析するときに、自分がどの視点に立っていて、どんな情報を欲しているのかということを意識することが重要ですね。

#なんか宗教じみてきたぞww

> 興味の尽きないお話ですね。

一歩突っ込むなら、このあたりが面白いかもしれません。
#てゆーか豆蔵ってすげぇな。教えを乞いたい。
http://jibun.atmarkit.co.jp/lskill01/rensai/bookreview02/bookreview01.html
http://itpro.nikkeibp.co.jp/members/NBY/techsquare/20040804/2/

あ、そうそう。
@ITの会議室に生息していて、この手の話題を好む某o氏はイタい人なので、関わらないのが吉ですww

# re: Visual Basic で○○を作ってみよう。その4。 - 基本クラスとか派生クラスとかつくってみたらええやん。- 2007/05/07 21:07 とっちゃん

>#なんか宗教じみてきたぞww
Object Oriented は思考論でもあるので、宗教じみてくるのはある種の必然かとw

哲学や、心理学の世界の影響を受けている以上、どうしたってそうなってしまう面はあると思いますよ。

だからといって、水かけ論になってしまってはダメなんですがw

# re: Visual Basic で○○を作ってみよう。その4。 - 基本クラスとか派生クラスとかつくってみたらええやん。- 2007/05/08 0:14 シャノン

調子に乗って書いちゃおう。

> 「クラスを作る」、つまり抽象化するということ自体はそれほど難しいことでは無いのでしょう。
> もともとそういう考え方を持っているわけですからね。

「class」という言葉の意味は「分類」です。
クラスを作るという作業は、いくつもあるインスタンスを、その特長に基づいて、いくつかのグループに分類する作業です。
これは、例えば、目の前にいるいくつかの「雀の特徴をもった物体」を「雀」というグループに押し込めることです。
そしてこれは、そのグループに「雀」という名前を付けることと、実質的には同じ作業です。
つまり、「クラスを作る」とは「命名する」のと同じことであり、我々の周囲にある「名詞」はすべて「クラス名」なのです。
こう考えると、オブジェクト指向が、いかに人間の思考・認識能力に近いかがわかってくると思います。

# re: Visual Basic で○○を作ってみよう。その4。 - 基本クラスとか派生クラスとかつくってみたらええやん。- 2007/05/08 1:14 かるあ

でもそうすると、インスタンスとクラスの境がわからなくなってきますね。

# re: Visual Basic で○○を作ってみよう。その4。 - 基本クラスとか派生クラスとかつくってみたらええやん。- 2007/05/08 9:38 とりこびと

コメントありがとうございます。

# 朝から頭がフル回転ww


>>シャノンさん

>今回のような「鳥とは何ぞ?」みたいな問いを発すると、オブジェクト指向分析・設計に首を突っ込まなければいけません。
>が、オブジェクト指向を学習しようとする初心者は、まず機械寄りな、プログラミング言語の機能とかから入りますよね。

えっと。私のことですねwwww

>#なんか宗教じみてきたぞww

もちろんそうなる可能性のあるお話であることは認識していますよ♪
私もこういうお話は好きですから。

>一歩突っ込むなら、このあたりが面白いかもしれません。

突撃してきます!

>@ITの会議室に生息していて、この手の話題を好む某o氏はイタい人なので、関わらないのが吉ですww

あ~、o氏はなんだか Visual Basic がおキライのようなので。(ToT)

>こう考えると、オブジェクト指向が、いかに人間の思考・認識能力に近いかがわかってくると思います。

ですね。
普段、無意識に行っていることだから、それを考えるとき、難しいのでしょう。



>>とっちゃんさん

>Object Oriented は思考論でもあるので、宗教じみてくるのはある種の必然かとw
>哲学や、心理学の世界の影響を受けている以上、どうしたってそうなってしまう面はあると思いますよ。

そのうち禅問答なObject Orientedとか出てきたりw
楽しいですね。この話題♪



>>かるあさん

>でもそうすると、インスタンスとクラスの境がわからなくなってきますね。

あぁ・・・コメント欄が私の頭の中のようですwww
(で、私の場合、静的なクラスいいんじゃね?なクラスが数個増えたりした・・・。)

# re: Visual Basic で○○を作ってみよう。その4。 - 基本クラスとか派生クラスとかつくってみたらええやん。- 2007/05/08 9:54 シャノン

> えっと。私のことですねwwww

いやー、「鳥とは何ぞ?」という問いをいきなり発しているあたり、当てはまらないんじゃないかとw

> でもそうすると、インスタンスとクラスの境がわからなくなってきますね。

インスタンスは「モノ」、単一の個体ですね。クラスはその分類とか集合。
抽象化されているという点ではどちらも同じですが。インスタンスも(現実世界の事物と比較してみれば)決して具体的というわけではないのですね。

俺の頭の中では最近、「クラスとインスタンスの関係」と「スーパークラスとサブクラスの関係」の協会がぼやけてきつつあります。
数学風に言えば、前者は集合とその要素の関係、後者は集合とその部分集合の関係なんですが、いろいろと共通点が多いですね。

# re: Visual Basic で○○を作ってみよう。その4。 - 基本クラスとか派生クラスとかつくってみたらええやん。- 2007/05/08 10:17 とりこびと

シャノンさん、コメントありがとうございます。

>いやー、「鳥とは何ぞ?」という問いをいきなり発しているあたり、当てはまらないんじゃないかとw

実は今回の取り組み、スタート地点を間違えているんじゃないかって思っています。

そもそも何のために Bird クラス を作るのか、が抜けています。

このあたりも改めて書くべきでしょうね。

# Visual Basic で○○を作ってみよう。その5。 - インターフェイスとかつくってみたらええやん。その1。- 2007/05/08 17:09 とりこびと ぶろぐ。

Visual Basic で○○を作ってみよう。その5。 - インターフェイスとかつくってみたらええやん。その1。-

# Visual Basic で○○を作ってみよう。その6。 - インターフェイスとかつくってみたらええやん。その2。- 2007/05/10 14:10 とりこびと ぶろぐ。

Visual Basic で○○を作ってみよう。その6。 - インターフェイスとかつくってみたらええやん。その2。-

# Illikebuisse sdayv 2021/07/05 1:33 www.pharmaceptica.com

best erectile dysfunction https://www.pharmaceptica.com/

# re: Visual Basic ?00??????????4? - ??????????????????????????- 2021/08/08 10:43 what is in hydroxychloroquine

drug chloroquine https://chloroquineorigin.com/# hydroxychloroquine 200mg tablets

# re: Visual Basic ?00??????????4? - ??????????????????????????- 2021/08/08 19:29 what is hydroxychloroquine used for arthritis

where to get chloroquine https://chloroquineorigin.com/# hydroxycloraquine

# vazylfitmgxz 2022/06/04 5:00 hnopmihw

erythromycin topical solution https://erythromycinn.com/#

# do you need a prescription for hydroxychloroquine 2022/12/26 22:06 MorrisReaks

https://hydroxychloroquinex.com/ chloroquine uk buy

# plaquenil 200mg friends program 2022/12/27 6:52 MorrisReaks

do you need a prescription for hydroxychloroquine https://hydroxychloroquinex.com/

タイトル
名前
Url
コメント