無差別に技術をついばむ鳥

情報処理技術全般を気まぐれにつつくゆるいブログです

VB.NETを咥えてWindows.Formsをつつく3−継承。ピヨ伝染♪

前回はインスタンスと型を堪能したピヨ。今度は継承をつつこう♪オブジェクト指向といえば、やっぱり継承が使えなきゃ面白くないよね。
前回のプログラムでボクはどうしても気になる事があったんだ。それはフォームのキャプションに「ピヨ」数が多くなったら時全部見えなかったことピヨォ。そんなの嫌だからボクは全部見えるように新しいフォームを作成する事を決心したピヨッ!という事で新しいPiyoFormをご覧あれ!


Imports System
Imports System.Text
Imports System.Drawing
Imports System.Windows.Forms

Public Class PiyoForm
    Inherits Form 'Formを継承して新しいクラスを作る♪

    Sub New(ByVal count As Integer)
        Dim str As StringBuilder = New StringBuilder(count * 2)
        For i As Integer = 0 To count
            str.Append("ピヨ")
        Next
        Me.Text = str.ToString()
    End Sub

    Protected Overrides Sub OnResize(ByVal e As System.EventArgs)
        Invalidate()
    End Sub

    Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
        MyBase.OnPaint(e)

        '線画処理の準備
        Dim grfx As Graphics = e.Graphics
        Dim rang As RectangleF =  _ 
              New RectangleF(0, 0, ClientSize.Width, ClientSize.Height)

        '声を大にして言いたい
        Dim font As Font = _ 
              New Font(Me.Font.FontFamily, Me.Font.Size + 2, FontStyle.Bold)

        '思いっきりピヨと叫ぶ!
        grfx.DrawString(Me.Text, font, Brushes.Black, rang)
    End Sub

End Class

Public Class FormProgram
    Public Shared Sub Main()
        Dim frm As PiyoForm = Nothing
        For i As Integer = 0 To 100
            frm = New PiyoForm(i)  '作りやすい
            frm.Show()
        Next
        frm.BackColor = Color.Red
        Application.Run(frm)
    End Sub
End Class


このサンプルプログラムを実行して♪今度の新しいクラスは無事ピヨが全部見えるピヨ♪♪しかも作り方も簡単になったしね。この様にして既存の型を拡張して新しい型を定義する事を継承とイメージすればいいピヨ。学術的に言うと不完全だけど慣れないうちは気にしない♪気にしない♪この例の様に、何度も同じコードを書く手間を省きたい時に使用したらいいと思う。えっ?PiyoFormを何度も使うのかって?もちろん使うピヨ。素敵なクラスだもんね♪
今回はこれでお終い。次回お楽しみに♪
別窓 | Windows Form | コメント:0 | トラックバック:0 | ∧top | under∨
<<VB.NETを咥えてWindows.Formsをつつく4−継承1。親の仕様を無視するな!逃走ボタン。 | 無差別に技術をついばむ鳥 | 中の人の徒然草149>>

この記事のコメント

∧top | under∨

コメントの投稿

 

管理者だけに閲覧
 

この記事のトラックバック

∧top | under∨
| 無差別に技術をついばむ鳥 |