Swift

【Swift入門】クラスとは?概念や使い方を徹底解説!

こんにちは、テルプロです!

「クラス(class)の使い方がわからない」とお悩みではないでしょうか?

テルプロ

本記事ではそんな悩みを解決していきます!

Swiftの基礎文法一覧
  1. データ型(type)
  2. 変数(var)
  3. 定数(let)
  4. 配列(array)
  5. 関数(function)
  6. 引数(input)
  7. 戻り値(output)
  8. if文(2〜3つの条件式)
  9. switch文(4つ以上の条件式)
  10. クラス(class)

クラスとは

  1. 設計図のようなもの
  2. インスタンス化することで、情報を加えたり変更したりできる

クラスを理解する上で、押さえておくべきポイントは上記の2点のみです。

では、詳しく解説していきます!

基本的な使い方

簡単解説

今回は「さまざまな色の服を作りたい場合」を例に挙げます。

このような場合に「2」を服の完成だとし、クラスを使わないと「0→1→2」を何工程も繰り返す必要があります。

しかし、クラスを使うと「1=インスタンス」(クローン) を作ることができるため、後はそのインスタンスをもとに色を加えるだけになります。

つまり、クラスを使えば服を作る過程を「0→1→2」から「1→2」に短縮することができるという訳です。

クラスは、今回の例のように基本となる設計図を作成したい際に用います。

では、実際の使用例を用いて解説していきます!

使用例

Class クラス名{
 // コンストラスタ化  - 再利用したいプロパティやメソッドを指定
 // プロパティ - 変数や定数の指定
 // メソッド - 関数の指定
}
//クラス(設計図)
class Twitter {
   //プロパティ
    var userId: String!
    var date: Int!
    var content: String!
  //プロパティ
  //表示したい内容の型
    func tweet() {
        print("UserID:\(userId!)")
        print("日付:\(date!)")
        print("投稿内容:\(content!)")
    }
  //表示したい内容の型
}
//クラス(設計図)

//インスタンス化(クローンの作成)
let tweetData1 = Twitter()
//それぞれにデータを付与していく
tweetData1.userId = "@terupro.net"
tweetData1.date = 1031
tweetData1.content = "ハッピーハロウィン!"
//ツイートを出力
tweetData1.tweet()

//インスタンス化(クローンの作成)
let tweetData2 = Twitter()
//それぞれにデータを付与していく
tweetData2.userId = "@terupro.com"
tweetData2.date = 1225
tweetData2.content = "メリークリスマス!"
//ツイートを出力
tweetData2.tweet()

/*出力結果
UserID:@terupro.net
日付:1031
投稿内容:ハッピーハロウィン!

UserID:@terupro.com
日付:1225
投稿内容:メリークリスマス!

*/

簡単解説

上記は、Twitterのツイートを例にしたものです。

ツイートで表示される「UserID」「日付」「投稿内容」を設計図の中身としています。この、クラスの中に入る変数や定数をプロパティと呼びます。そして、その下にツイートの型を作成しています。

そして、クラスをインスタンス化してクローンを作成し、クローンにデータを付与して、最後にツイートを出力するためのコードを書いています。

このようにクラスとインスタンスを用いることで、一部だけを変更したいプログラムを効率的に作成することができます。

以上が、クラスの基本的な使い方です。

まとめ

今回は【クラス】の概念や使い方を徹底解説しました。

解説の通りクラスは、基本となる設計図を作成したいときに用いるものとなります。Swiftの文法をしっかりと押さえて、開発の幅を広げていきましょう。

▼以下では、私の実体験に基づいて「Swiftの効率的な勉強法」の具体的な手順を詳しく解説しています。ぜひ参考にしてみてください!

最後までご覧いただきありがとうございました。ではまた!

参考文献
ABOUT ME
テルプロ
東京都在住のアプリエンジニア。大学では、ソフトウェア開発の研究に取り組む。長期のエンジニアインターンシップを経て、実務スキルを磨き、現在はフリーランスエンジニアとしても活動中。メインはモバイルアプリ開発。IT関連の記事監修も行い、技術の共有と普及に励んでいます。 監修実績(レバテックフリーランス
\ 登録しておいて損なし!IT就活支援サービス /
1位:レバテックルーキー
レバテックルーキー」とは、新卒でITエンジニアを目指す学生の支援に特化した就職エージェントです。業界支持率NO.1の実績を誇っており、エージェント選びに悩む学生におすすめです。エンジニア業界を熟知したアドバイザーが担当します。面接対策だけでなく、学生の志向性やスキル、入社後のキャリアパスを考慮したアドバイスをしてくれる就職活動の強い味方となります。
おすすめ度
URLレバテックルーキーはこちら

 

2位:OfferBox
OfferBox」とは、企業が興味を持った学生にオファーする、新しい就活サイトです。学生は自分のプロフィールを登録しておくだけで、企業からオファーをもらえます。学生利用率No.1で就活生の3人に1人が利用しており、IT業界を志望する学生にもおすすめです。いわゆる一斉配信ができないため、企業はしっかりと学生のプロフィールを見て、オファーを送ってくるので安心です。
おすすめ度
URLオファー型就活アプリOfferBox

 

3位:GeekSalon
GeekSalon」とは、全国展開の大学生限定プログラミングスクールです。Web開発やアプリ開発など多様なコースを提供しています。お値段は他スクールの3分の1程度の料金で、大学生でも通いやすい値段設定です。専属メンターが全面的にサポートしてくれるため、未経験でも安心です。また、切磋琢磨できる同世代の仲間に出会えます。スクールを検討している大学生におすすめです。
おすすめ度
URL大学生限定コミュニティ「GeekSalon」