【オブジェクト指向】継承、コンポジションの違いと使用方法
まずはじめに、オブジェクト指向言語とはソフトウェアの考え方で「さまざまな処理を部品ごとに分けて、それらを1つにまとめプログラミングしていくという考え方」を表しています。よく自動車の例が挙げられていますが、ほとんど同じですがここでは自動販売機を例にあげてみます。まずは自動販売機の動作をおさらいしてみますが、「お金を入れる」→「購入できる飲み物のボタンが光る」→「ボタンが押されたら飲み物が出てくる」というようなものが共通の動作としてあると思います。この共通の動作を色々な自動販売機に流用していくというのがオブジェクト指向の考え方です。「お金を入れる」処理を1000円ガチャなどに流用すると、小銭が使えなくお札のみ使用できるという処理を1から作らずに応用して作成することができます。こういった考え方をプログラムに落としたものがオブジェクト指向といいます。今回はその中で、「継承」、「コンポジション」についてそれぞれの違いと使用方法について簡単に説明していきます。
初心者
【Java】ビルドツールについて学ぼう
Javaで開発を行う際、ビルドツールを利用された経験はありますか。Javaのビルドツールにはいろいろと種類があります。私はMavenとGradleしか知りませんでした。他に存在するビルドツールの種類についてや、メリット・デメリットについて記事作成を通して学んでいこうと考えてます。
初心者
【デザインパターン】SingletonとFacadeについて
プログラミング言語について学習しているとオブジェクト指向を学ぶことが出てくると思います。オブジェクト指向をある程度理解したあとはデザインパターンについて学ぶことが出てきます。本日はデザインパターンについて概要を説明したあとSingletonとFacadeについて解説していきたいと思います。
初心者
【JavaScript】便利なVue.jsについて学ぼう
皆さんはVue.jsについてご存じでしょうか。Vue.jsは、JavaScriptを使ったアプリケーション開発を行うエンジニアから注目を集めている技術の一つです。Vue.jsとはなにか、メリット・デメリットはなにかをこの記事作成を通して調査しながら学んでいこうと考えています。
初心者
【オブジェクト指向】オブジェクトの取り扱いについて
オブジェクト指向について学習する際に必ず、「オブジェクト」、「クラス」、「インスタンス」、「コンストラクタ」という言葉を耳にするとおもいます。ただ、概念的なものなのでかなり分かりにくく理解しにくいものになってます。今回は「オブジェクト」、「クラス」、「インスタンス」、「コンストラクタ」に特化して分かりやすく説明したいと思います。
初心者
【Java】ラムダ式のプログラミングを学ぼう
皆さんはラムダ式と呼ばれる文法についてご存じでしょうか。私は業務で少し使用した経験があります。たまにラムダ式を使用している開発業務を見かけることがありますが、そもそもラムダ式とはなにか、メリット・デメリットはなにかを記事作成を通して調査しまとめてみました。
初心者
【Java】文書の読込み・出力方法
システム開発をしていると、ファイル入出力の処理機能を実装する場合があると思います。ただ、初心者の方はファイル入出力とはどういうことなのか分からないと思う方もいると思うので、今回はファイル入出力とはどういうものか、どのような時に使うのか、どのように実装するのかを順に解説していきます。
初心者
【Java】Lombokという便利なライブラリについて学ぼう
皆さんはJavaのライブラリであるLombokについてご存じでしょうか。私は開発業務で使用した経験がありますが、恥ずかしながらどういったライブラリなのか、あまり知らずに使用していました。Lombokとはなにか、メリット・デメリットはなにかをこの記事作成を通して調査し、まとめました。
初心者
【Java】トランザクション処理について
「トランザクション処理」という言葉は基幹システムや、オンライン決済など、データの整合性と信頼性を必要とするシステムを開発する際に必ず耳にすると思います。必ず耳にするということは大事な処理であるということだというのはわかるはずです。ただ、どういった処理なのかぼんやりとしか分からない方もいると思います。私もその一人でしたので、今回は学習した内容をまとめると同時に分かりやすく「トランザクション処理」について解説していきたいと思います。
初心者
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
2023年10月02日
製造・コーディング(PG/フロントエンド)2023年07月18日
アーキテクト・技術選定(PG/バックエンド)2023年11月17日
学習・スキル2023年10月26日
テスト(運用・保守・サポート)2023年01月09日
詳細設計(内部設計)(インフラ)
週間人気記事
もっと見るGit GUIツールの使い方:初心者向けチュートリアル
Gitとは、分散型バージョン管理システムの1つで、コードやファイルなどの変更履歴を記録し、複数の人で同時に開発を進めるために使われます。Linuxの開発者であるLinus Torvaldsによって開発され、現在は世界中の多くの企業やオープンソースプロジェクトで使用されています。Gitは、ファイルの変更履歴を保存するための「リポジトリ」と呼ばれるデータベースを持ち、このリポジトリに対してコミットと呼ばれる操作で変更履歴を追加していきます。また、ブランチと呼ばれる分岐を作成して、異なるバージョンのコードを管理します。Gitの主な特徴としては、以下のようなものが挙げられます。・ローカルでの高速な動作・分散型であるため、オフラインでも開発ができる・変更履歴を管理しやすく、コードの品質を高めることができる・大規模なプロジェクトでもスケーラブルに対応可能Gitは、コマンドラインツールを使って操作することもできますが、GUIツールを使って操作することもできます。
アーキテクト・技術選定(PG/バックエンド)
【これからJP1に触れる人向け】JP1とは
開発プロジェクトに携わる際にJP1というツールに触れたことはあるだろうか。JP1は開発工程、特にテスト作業においては非常に利便性の高いツールである。この記事ではまだJP1に触れたことがない人向けにJP1の概要やJP1を合う買う際に知っておくべき用語を取り上げる。
テスト(運用・保守・サポート)
DBのビューとは?メリットデメリットや使用方法についても紹介!
アプリケーション開発にとってデータベースは必須スキルとなっております。データベースの知識がないと、アプリケーション開発に難航することでしょう。しかしデータベースの知識を身に付けるとなると、かなりの勉強量を要します。というのもデータベースオブジェクトには様々な種類があり、一朝一夕では身に付くものではありません。今回は、データベースのビューについてご説明いたします。ビューそのものは必ず覚えてなくてはならないと言うものではありませんが、よく使われます。まずは本記事でビューの基礎知識を身に付けてください。本記事ではメリットデメリットや具体的な使用方法について紹介しております。
学習・スキル
インデックスとは?メリットデメリットやインデックスの種類も交えてご紹介
インデックスとは、データベースを扱う際には欠かすことのできない概念となります。インデックスの取り扱いによって、データのアクセス速度が大きく変わります。特に大規模なデータを扱う場合には、取り扱いに気をつけなくてはなりません。インデックスを設定した結果、処理速度が遅くなってしまうことやそもそもインデックスを使用するような実行計画が選択されないこともあるのです。インデックスは、DBMSの種類(例えば、OracleやMySQL、Postgreなど)によっても異なります。インデックスの仕様を知らないと、開発者にとって意図しない処理をしてしまう可能性もあります。そこで今回はインデックスについてメリットデメリットや具体的にどのような種類があるのかを説明していきます。
学習・スキル
【初心者用】Active Directoryについて
Active Directory(AD)とはマイクロソフトが提供するWindows Serverに搭載されている機能で、ネットワークにつないでいるクライアント端末やサーバー、プリンター、アプリケーションなどの情報を収集し、一元管理できるディレクトリサービスです。ユーザーアカウントを集中的に管理できるので、ファイルやフォルダの共有データへのアクセス権限、プリンタなどの周辺機器への利用制限などユーザの利用権限を効率的に管理することができます。複雑化するリソース管理のタスクも、Active Directoryを使うことによって管理しやすくなります。
その他(インフラ)
【初心者向け】Packet Tracerでネットワークを学ぶ(DHCP)
DHCP(Dynamic Host Configuration Protocol)は自動的にIPアドレスやサブネットマスク等をPCやルータに配布してくれるプロトコルです。
詳細設計(内部設計)(インフラ)
【初心者用】ifconfigの出力結果の見方
Linuxシステムでネットワーク設定や情報を確認するための基本的なコマンドの1つがifconfigです。この記事では、初心者向けにifconfigコマンドの使用方法、オプション、出力結果の解釈について詳しく説明します。また、具体的な使用シーンや例、関連するコマンドや技術についても紹介します。
その他(インフラ)
AUTOSARについて、まとめてみた
AUTOSAR(オートザー)とは、Automotive Open System Architectureの略称で、車載ソフトウェアの共通化を実現するためのプラットフォームの仕様名称でもあります。
開発環境関連(PG/フロントエンド)