Full Stack Engineer

f:id:kentaro-mori36:20180528195052j:plain

I’ll seek full stuck engineer

Today Our teacher told us some kind vision of software engineer. He showed two kind of way to engineer future, one is full stuck more one is specialist. I have no idea which type is matching me but I wanna seek full stuck engineer way. You know I really interested many part of technology not only application but also systems security language. I know this way is hard but I’ll try :)

どうやってSanMicroは儲けてた?

  • 他の企業に向けて情報を

クラスの継承

  • 継承
  • 既存のプログラムを元にして、相違部分のみを新たに追加していくプログラミング方法(インクリメンタルプログラミング)
  • オブジェクト指向プログラミングでは、インクリメンタルモデルプログラミングを「継承」(派生)と呼ぶ
  • 既存のクラスを元にして新たな特徴・機能を追加した新しいクラスを作ること=「継承」
  • 元になるクラスはスーパークラス(親クラス)
  • 継承してできたクラスはサブクラス(子クラス)
  • Java言語では、多重継承ではない単一継承を採用
  • スーパークラスは一つに制御

継承の利点

  • スーパークラスの特徴・機能はサブクラスで定義せずに使用できる
  • フィールドの参照
  • メソッドの参照
  • コンストラクタは受け継ぐことができない
  • サブクラスで新しい独自の特徴・機能を定義できる
  • メンテナンス性の向上が期待できる
  • 共通した機能のメンテナンスの場合は、スーパークラスを一つ修正すれば済むケースがある

単一継承

  • オブジェクト指向では多重継承と単一継承のモデルが定義されている
  • 単一継承とは、スーパークラスを一つしか定義できないモデル
  • Java言語は単一継承をサポート
  • 単一継承のメリット
  • 継承をシンプルに表現
  • クラス定義をシンプルにできる

extendsキーワード

  • サブクラス定義の際に使用する警鐘を表現するキーワード
  • extendsキーワードはクラス名の後ろに記述
  • extendsキーワードの後ろには、スーパークラスを指定
  • 指定できるクラスは一つ

スーパークラスとサブクラスの関係

  • サブクラスprivate以外のスーパークラスのフィールドやメソッドを暗黙的に使用できる
  • コンストラクタは継承されない
  • スーパークラスと同名のフィールドやメソッドを定義すると、自分自身(サブクラス)で定義されているものが優先して使用される。

isAとHasAの関係

  • オブジェクト指向言語で表現されるクラスどうしの関わり合いの定義
  • IsA あるオブジェクトとあるオブジェクトが同義であること
    • 継承関係のオブジェクト
  • HasA:あるオブジェクトがあるオブジェクトを使用していること
  • あるオブジェクト内であるオブジェクトがnewして使用されている状態