見出し画像

はじめてみよう。プログラミング!- 構造体とクラス(Structures and Classes)

プログラミングの基本的なところをまとめていますが、もう少し先へ行ってみましょう。何か作る時にただ書き進めるとまとまりがなくわかりにくいものになってしまします。わかりやすくするためには同じもの、おまじ部類なものはまとめて置いた方が良いことが多いです。

もう少し言い方を変えてみます。あるものがあるとすれば、それは何かしらの部品からできています。部品が集まって機能的なものが作られていきます。

例えばロボットを作る場合は、手、足、頭などの部品、さらに、その手、足、頭もさらに小さな部品からできています。

ものを作るように組み上げていくという考え方を利用してプログラムを組んでいく時の部品を作っていくのが構造体、クラスということになります。

実際のコードをみていきます。

構造体は"struct"、クラスは"class"を使って定義します。

構造体

struct Resolution {
   var width = 0
   var height = 0
}

構造体は単純に"もの"を構成する仕様(どんなものか)を定義します。この例では"Resolution解像度"が定義してあり、width幅は"0"とheight高さは"0"です。

クラス 

class VideoMode {
   var resolution = Resolution()
   var interlaced = false
   var frameRate = 0.0
   var name: String?
}

クラスでは"もの"が機能するように設計していきます。

・構造体で定義してある解像度
・interlaced(インターレース方式)はfalse(採用していない)
・frameRate(フレームレート)は"0"
・名前はあるものとないものがある。

という感じで定義してあります。

クラスと構造体の違いもみてみます。違いについて説明されているサイトがありました。

構造体は値型、クラスは参照型と出てきてわかりにくいですが、この辺は感覚で覚えていけば良いと思います。とにかくSwiftUIでは構造体が多用されていますのでうまく使いたいです。

この記事が気に入ったらサポートをしてみませんか?