目次
- 概要
- そもそもUMLって何?
- UMLでクラス図を書いてみる
- 最後に
概要
最近一気に寒くなってきてまだ衣替えしていなく、半袖半ズボンで寝てるので三連休で衣替えしようと思います🥶
さて今回のスキルアップのための不定期30分インプット・アウトプット投稿第三段は、「UMLを使ってクラス図を書く方法」ついてやっていこうと思います!
第二弾は、Dockerを使ってPHPを実行する方法について投稿したのでよければ確認してみてください。
そもそもUMLって何?
wikiだと下記のような定義らしいです。
ソフトウェア工学で用いられる、汎用的かつ開発方面に特化させたモデリング言語である。
システム設計を視覚的に図式化しての標準化されたモデリング手法の提供を目的にしている。
UML(Unified Modeling Language)の略語で呼ばれることが多い。オブジェクト指向分野でよく用いられている。
ということで噛み砕くと、
システムの構造や動きを図にしたもので、世界中の人が見てもわかるように決められた書き方
ということみたいです。
UMLを使ってクラス図を書いてみる
UMLの中でも構造を表すクラス図を書くときのルールをまとめておきます。
ちなみにクラス図を書くツールはいろいろあるようですが、私はdrow.ioを使って書いていきます。
基本的なルール
クラス図は、属性と操作で上下分けて書きます。
PHPでいうと上がプロパティ、下がメソッドで分けられます。
アクセス範囲のルール
プロパティやメソッドの前に記号がついていますが、これはpublic
やprivate
などのアクセス修飾子を表しています。。
記号(可視性) | アクセス修飾子 | アクセス範囲 |
---|---|---|
+ | pablic | 自クラス外からもアクセス可能 |
- | private | 自クラス内からアクセス可能 |
# | protected | 自クラスと継承クラスからアクセス可能 |
_ | static | インスタンス化せずに自クラス外からもアクセス可能 |
相互関係の書き方
インターフェイスを継承する
クラスを継承する
クラスAのインスタンスをクラスBが保持
クラスAがクラスBを生成(クラスAの返り値がクラスB)
最後に
まだ多重度と呼ばれる関連する数を表現する方法があるみたいですが、30分で調べきれなかったのでまたの機会にします。
クラス図の書き方を調べるにあたって、Javaを例にクラス図の紹介がされている記事は多く見つけましたが、PHPで紹介されている記事が少なく同じPHP初学者の人の助けになれれば嬉しいです。