P.126~

 

 

実践力を身につける Pythonの教科書

 

*引数のデフォルト値を指定する

 

関数を定義するとき、引数のデフォルト値をしていることができます。

デフォルト値とは初期値という意味で、関数を呼び出すときにその引数が指定されなかったら、

デフォルト値を記述します

 

1畳を平米に変換するプログラム

 

教科書P.124~

 

 

実践力を身につける Pythonの教科書

 

 

再帰とは、関数の中で、その関数自身を呼び出すことを「再帰」

と呼びます。

 

普通は、for構文を使って書きます。

 

 

再帰関数を定義すると

 

 

再帰関数を使用して、階乗を求める

(3の階乗=1×2×3)が階乗

 

 

ってなります。

ひとまず、「関数の中で関数を呼ぶことができる」と覚えておきましょ。

 

実践力を身につける Pythonの教科書

 

 

P.119~

 

関数を定義する際、関数の直下にクォートを3つ重ねた

三重引用符の文字列を記述すると

それが「docstring」として認識されます。

 

docstringとは、関数などに説明文をつけるための機能です。

 

 

 

 

実践力を身につける Pythonの教科書

 

 

てなわけで日が空いたんですが…

とりあえず教科書から抜粋…

時間ができたらコメントとか修正したいなぁって欲望

 

Chapter3-3

文字列の操作

 

文字列の生成と演算

 

クオート、三重引用符で文字列を作成する

 

ファイル名

VSコードでやってますよ

print-str.py

 

--------

---------

 

 

実践力を身につける Pythonの教科書

 

肉まんはじめました。的なテンションで

いよいよメインになるPythonがはじまりましたよー…

超たのしい!

 

教科書は↑です。

今日からぽちぽちがんばります。

 

P.314

4.7.6 ポリモーフィズムを利用する

 

 

●ポリモーフィズム

スーパークラスのメソッドをオーバーライドしたとき、スーパークラスのメソッドはインスタンスに関連付けられる時点で廃棄状態になります。このため、スーパークラス型の参照変数にサブクラスのインスタンスを代入した場合、廃棄状態にあるスーパークラスのメソッドではなく、新たに上書きしたオーバーライドメソッドが呼び出されます。
このことを、オブジェクトのポリモーフィズム(多様性)と呼びます。

→ポイント
参照変数の型とは無関係に、インスタンスの型によって起動するメソッドが決定します

 



▼スーパークラス Class1(Class1)(Polymorphism)
--------------------------------------------------
Public MustInherit Class Class1
    Public MustOverride Sub ShowMsg(msg As String, title As String)
End Class
--------------------------------------------------

▼サブクラス Class2(Class2)
--------------------------------------------------
Public Class Class2
    Inherits Class1

    Public Overrides Sub ShowMsg(msg As String, title As String)
        MessageBox.Show(msg, title)
    End Sub

End Class
--------------------------------------------------

▼サブクラス Class3(Class3)
--------------------------------------------------
Public Class Class3
    Inherits Class1

    Public Overrides Sub ShowMsg(msg As String, title As String)
        InputBox(msg, title)
    End Sub
End Class
--------------------------------------------------

▼(Form1)
--------------------------------------------------
Public Class Form1
    Private obj As Class1
    Private Sub RadioButton1_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton1.CheckedChanged
        obj = New Class2()
    End Sub

    Private Sub RadioButton2_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton2.CheckedChanged
        obj = New Class3()
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        obj.ShowMsg("メッセージを表示します", "確認")
    End Sub
End Class
--------------------------------------------------

どうしてわざわざ、ポリモーフィズムを使う必要があるの?

あらかじめスーパークラスの参照変数を宣言しておけば、
サブクラスごとに変数を用意する必要もなくなり、コードもすっきりする。
さらに、どのサブクラスのインスタンスが格納されているのかによって
呼び出されるオーバーライドメソッドが決まるので、メソッドを呼び出すコードも1つあれば済む♪
ソースコードの構造がわかりやすいという点で非常に重要なことなんです☆

 

(P.303)

4.6.2 サブクラスの継承

サブクラスをさらに継承して、サブクラスを作成することができる。

 

 

(Class1.vb)(AdditionalInherits)

----------------------------

Public Class Class1

    Public Property Num

    Public Sub Add(n As Integer)

        Num += n

    End Sub

End Class

----------------------------

 

(Class2.vb)

----------------------------

Public Class Class2

    Inherits Class1

    Public Property Record

    Public Sub Recorder()

        Record = Num

    End Sub

 

End Class

----------------------------

 

(Class3.vb)

----------------------------

Public Class Class3

    Inherits Class2

    Public Sub Subtract(vol As Integer)

        Num -= vol

    End Sub

End Class

----------------------------

 

(Form1.vb)

----------------------------

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim obj As New Class3()

        obj.Add(100)

        obj.Recorder()

        obj.Subtract(50)

 

        MessageBox.Show("Num = " & obj.Num & vbCrLf &

                        "Record = " & obj.Record)

    End Sub

End Class

----------------------------