プログラミングを始める。 - "もの"を表現する(class)。
生活している中で、いろんな"もの"があります。プログラミングで使うパソコンもそうですね。
例えばパソコンには、ディスプレイ、キーボードなどから出来上がっています。これをコードで表現する場合には使うのが構造体、クラスというものになります。
構造体は主にあるまとまったデータ、クラスはある"もの"の雛形、設計図を表すことを目的としています。"もの"とは何なのかということですが、何でも、"コード"で表そうということです。
構造体とは切り離して考えた方がわかりやすいと思うので、これからはクラスの話をします。
クラスは"class"という接頭語を付けて表します。基本の形は
class クラスの名前l{
// プロパティ
// メソッド
}
実例では、
class Animal{
var name:String
var age:Int
func description(){
print("gao")
}
}
クラス名が"Animal"、そしてプロパティで、名前"name"と、年齢"age"を持っている。あと、メソッドで言葉"func discription(){}"を話す。
実行してみると、これではエラーがでます。
でも大丈夫。赤丸の"Fix"を押してみると、
class Animal{
var name:String = ""
var age:Int = 0
func description(){
print("gao")
}
}
と思います。エラーが出て、"initializer"されていないと出ていたので
var name:String = ""
var age:Int = 0
自動で直してくれています。初期化ということで、最初に何かを入れておかないといけないということです。
このように初期値を入れてしまう方法がありますが、別の方法として、
class Animal{
var name:String
var age:Int
init(name:String,age:Int){
self.name = name
self.age = age
}
func description(){
print("gao")
}
}
のように
init(name:String,age:Int){
self.name = name
self.age = age
}
イニシャライザー"init()"を使う方法です。これで設計図、"もの"の雛形ができました。
雛形から実体を作る場合をインスタンス化と言い、変数に入れる形で使います。
class Animal{
var name:String
var age:Int
init(name:String,age:Int){
self.name = name
self.age = age
}
func description(){
print("gao")
}
}
のインスタンスを作ります。
var animal = Animal(name:"dog",age:3)
として、メソッドを使ってみます。
animal.description()
とすると
gao
と出力されます。
これでこのクラス"Animal"が一つの"もの"なりました。
この記事が気に入ったらサポートをしてみませんか?