Swiftのクラス(class)の基本

yukimonkey
6 min readApr 28, 2020

--

こんにちは、Yukiです。

アプリ開発未経験者がiOSアプリを作成するシリーズのSwiftを学ぶ編です。

なぜiOSアプリを開発することになったかは最初の記事で↓

今回はCodeCrewのクラス(class)の基本(Lesson7)で学んだことをまとめます。

前回Lesson 6ではSwiftの関数(function)について学びました。

今回はSwiftのクラス(Class)について学びます。

クラス(Class)とは

……………………………………

前回関数(function)はユーザーの行動にリアクションするための一塊のコードと説明しました。

クラスはこの関数たちをグループにすることができます。

例えとしてペット育成ゲームを考えてみてください。

まず、自分だけのペットを作成するために動物の種類を決めて、名前をつけます。

作成した自分だけのペットは成長させるために餌をやったり、歩かせたりできます。

この歩く、食べるなどのペットに備わっている機能が関数で、この機能を備えたペットの設計図がクラスです。

コードにすると以下のようになります。

あれ名前と種類入ってないじゃん?って思いますよね。

クラスはペットを作るための設計図なので、そのまま利用することはできません。

この設計図を使って自分のペットを作って初めて機能するようになります。

このペットの設計図(クラス)を作成するメリットは、設計図1つで複数のペットを作成することができるようになることです。

クラスの概念を知ったところで、クラスの定義方法やインスタンス 化について説明します。

クラス(Class)の定義

……………………………………

クラスはclass クラス名 { }という形で書きます。

クラスの中に変数や関数を記述していきます。

今回はペットの名前と散歩する機能をつけてみます。

クラス内で定義された変数をプロパティ、関数をメソッドといいます。

クラス(Class)のインスタンス 化

……………………………………

クラスは設計図なので、その設計図を元に実際の物を作ります。

このことをインスタンス 化といいます。

インスタンス 化はvar インスタンス 名 = クラス名()の形式で書きます。

例で紹介したクラス名Petをインスタンス 化してみます。

プロパティーの設定

……………………………………

クラスのインスタンス 化ができたら、プロパティーに値を設定します。

インスタンス 名.プロパティー名 = プロパティーの値の形式で書きます。

名前にペット名を設定してみます。

これで自分のペットが作成できました。

メソッドを呼びだす

……………………………………

後は自分のペットに餌をやったり、歩かせたりするためにメソッドを呼び出します

インスタンス名.メソッド()で呼び出すことができます。

たぬきちと散歩してみましょう。

以上がクラスの定義と利用方法になります。

ここからはちょっと応用になるので、まだ余力があるよ!とゆう方は読んでください。

クラスの継承

……………………………………

散歩機能があるペットのクラスにプレミアム機能として「撫でる」を追加したい場合、クラスを継承して新しいクラスを作成できます。

継承はclass クラス名: 継承元のクラス名 { }の形式で書くことができます。

このクラスを継承した新しいクラス内でプロパティやメソッドを追加すると、継承したクラスに加えて新たに使用できるようになります。

また継承元のクラスで定義されたメソッドを上書きすることも可能です。

メソッドの前にoverrideと書くとメソッドが上書きされます。

overrideで上書きすると継承元のクラスのメソッドが使用できなると思うかもしれませんが、superを使って呼び出すことができます。

以上がSwiftのクラス(class)の基本になります。

この記事は動画で学んだことを自分なりにまとめたものです。

興味のある方は私が参考にした動画もぜひ見てみてください!

今回の範囲は02:15:08からです。

次回はLesson 8 UIパーツをコードで紐付ける!

コーディング仲間が欲しいので、Swiftやその他の言語を学んでいる方はTwitterに遊びに来てください😚

お疲れ様でした!

--

--

yukimonkey
yukimonkey

Written by yukimonkey

アプリ作ったことないのに社長の思いつきで開発することになったエンジニア

No responses yet