SlideShare a Scribd company logo
未経験者のためのJava勉強会
第5回
エンジニアカフェ
エンジニアやエンジニアに関わる人、エンジニアを目指す人をサポートする施設です。
エンジニアカフェ外観(提供:福岡市) イベントの様子 コワーキングスペース
Event Co-Working&Meeting Consulting Cafe&Bar
エンジニアカフェで体験できること
エンジニアカフェでは
随時ご相談を受け付けております!
本日のイベントに関するご質問はもちろん
エンジニアに関するご相談・ご質問はお気軽にどうぞ!
・勉強の仕方を教えて欲しい
・学生でも参加しやすいコミュニティが知りたい
・子どもにおすすめのプログラミング教材ってある?
・3Dプリンタでこんなの作れる?
などなど!
スタッフやコミュニティマネージャーがオフライン・オンライン問わず
ご対応致します。
自己紹介
● 今吉佑介
● 大学生
● Java , Ruby
もくじ
● オブジェクト指向について
● インスタンスとクラスについて
● カプセル化(getter,setter)
オブジェクト指向について
オブジェクト指向とは
現実世界にあるものを自動化させようとすること
オブジェクト指向とは
3000円
引出したい!
口座の残高を
調べる
3000円減らす様
口座を書き換え
る
3000円渡す
例:ATM
口座
オブジェクト指向とは
3000円
引出したい!
残高を問い
合わせる
DB
残高から
3000円減らす
3000円
受け取る!
例:ATM
オブジェクト指向とは
プログラマが簡単にコードを書くことができる手段
なぜ簡単にプログラムを書く事ができるの?
現実にあるものを真似してプログラムを書く
オブジェクト指向の部品化
受付クラスを作成して受
付の人が行う処理を定
義する
口座クラスを作成して口
座が行う処理を記入する
オブジェクト指向の本質として
僕たちが普段行っていることを
自動化又は真似して作る
オブジェクト指向は中々理解できるものではありません
今回のもので全体像をふんわりわかってもらえたらと思います。
質問
クラスとインスタンスについて
クラスとは
設計図の様な物
mainメソッド内にクラス(設計図)を元に生成する実体
インスタンスとは
インスタンスとは
クラス
(設計図)
main
メソッド
インスタンス化
インスタンス
コードで表してみます
main
メソッド
Java5
Human
クラス
main
メソッド
Java5
インスタンスとは
Human
クラス
main
メソッド
Humanクラス
を
インスタンス化 Humanクラス
を
インスタンス
Java5
Java5
Java5
Java5
質問
プロパティとメソッド
Java5
Java5
Humanクラスに定義されていたプロパティ、メソッドが
インスタンスした際に使用する事ができます
Java5
定数について
定数について
定数...値が変化しないもの
変数...値が変化するもの
Java5
Java5
Java5
質問
コンストラクタ
コンストラクタとは?
クラスからオブジェクトを作成した際に、
自動的に実行されるメソッドのこと
コンストラクタとは?
クラス名と同じ名前で定義しなければならない
例
先ほど作成したHumanクラスに
コンストラクタを定義してみましょう
Java5
Java5
Java5
先ほどコンストラクタを定義した
Humanクラスを呼び出しましょう。
Java5
Java5
初期値を上書きする
Java5
Java5
質問
Java5
オブジェクト指向の3大要素
オブジェクト指向の3大要素
・カプセル化
・継承
・多様性
カプセル化とは
カプセル化とは
フィールドへの書き込みや
メソッドの呼び出しを制御する機能です。
カプセル化のメリット
大事なフィールドやメソッドに悪意や間違いのある利用を防止する
もし、想定しない利用があればその場所をすぐに見つける事ができる
アクセス制限の種類
・名前 アクセスを許可する範囲
・private 自分自身のクラスのみ
・package private 自分と同じパッケージに属するクラス
・protected 自分と同じパッケージに属するか、自分を継承したクラス
・public すべてのクラス
・基本的にフィールドにはprivateを付けてあげる
Humanクラスのフィールドを
privateにしてみましょう
Java5
Java5
Mainクラスを実行してみましょう
Java5
これを実行してみます
Java5
privateでアクセス制限されているので
値を入れる事ができません
そこで使用するのがsetterとgetter
privateにされていたフィールドに値を入れる時、
呼び出す時に使用するのが
setterとgetter です!
getterとは?
値を持ってくるメソッド
setterとは?
getterとは逆に値を入れ込むメソッドです
Humanクラスにgetterを追加しましょう
Java5
Java5
Java5
Java5
Java5
Mainクラスでgetterメソッドを
呼び出しましょう
Java5
getAge()で呼び出す事ができます
Java5
これを実行します
成功すればコンストラクタで設定した
22が出力されます
Java5
次にsetterで値をセットしてみましょう
次のsetterを追加してみましょう
Java5
Java5
Java5
Java5
Java5
Mainメソッド内で値をセットしましょう
Java5
引数として50を渡してみます
Java5
Java5
実行してみましょう
Java5
同じ様にprivate変数nameにも
getter,setterを定義しまよう
getter
getter
setter
Java5
Java5
これを実行してみます
Java5
質問
getter,setterのメリット
getter,setterのメリット
メソッド内で条件を指定できる
例
ageに与えられる値がマイナスと120以上の場合に
エラーを表示する
if文を使用して実装します
Java5
Java5
Java5
全体図で確認しましょう
Java5
値を入力して実際に動くのか
確認しましょう
マイナス値
Java5
実行してみましょう
Java5
Java5
大きい値
Java5
実行してみましょう
Java5
Java5
この様にsetter,getterを使用して例外処理を行う事ができます
カプセル化の考え方
メソッドを利用してフィールドの変数を保護する
質問
本日はありがとうございました!
エンジニアカフェでは
随時ご相談を受け付けております!
本日のイベントに関するご質問はもちろん
エンジニアに関するご相談・ご質問はお気軽にどうぞ!
・勉強の仕方を教えて欲しい
・学生でも参加しやすいコミュニティが知りたい
・子どもにおすすめのプログラミング教材ってある?
・3Dプリンタでこんなの作れる?
などなど!
スタッフやコミュニティマネージャーがオフライン・オンライン問わず
ご対応致します。

More Related Content

PDF
PDF
PDF
PDF
[enPiT筑波大 PBL基礎(夏合宿)成果発表会]新卒エンジニア研修やってみた 〜5分では到底説明できないので気持ちだけ版〜
PPTX
「実務系」エンジニアとは?
PDF
プログラマーのお仕事
PDF
第69回名古屋アジャイル勉強会「スキルアップ&アジャイル!玉磨かざれば光なし」
PDF
何故エンジニアはテストをしないのか
[enPiT筑波大 PBL基礎(夏合宿)成果発表会]新卒エンジニア研修やってみた 〜5分では到底説明できないので気持ちだけ版〜
「実務系」エンジニアとは?
プログラマーのお仕事
第69回名古屋アジャイル勉強会「スキルアップ&アジャイル!玉磨かざれば光なし」
何故エンジニアはテストをしないのか

What's hot (20)

PDF
Backlog初心者の学習のためあえて課題を「たらい回し」してみた - JBUG福岡 #10 Backlogの使い方に悩んでいる方へ
PPTX
Javaプログラミング入門【第1回】
PDF
2016 新人研修 基本技術講座 (1)
PDF
我々はいつまでドキュメント作成に苦しめばいいんだろう
PPTX
二求の塾 プログラミング講座(2019-08-10)
PDF
engineer-life
PDF
プレゼンテーション講義スライド
PDF
プレゼンテーション講義スライド
PPTX
知ってるようで知らないWeb基礎セミナー
PDF
Prototype in Service Design
PDF
Web技術勉強会 20110611
PDF
Pm読書会 第0回 抜粋
PDF
個人作業を生かした発想系ワークショップの型
PDF
チラ見せ♡ナイト@20150410 LT公開用
PDF
時間のムダをゼロにする、リーダーの時間の使い方 先生:芝本秀徳
PPTX
オンライン・ワークショップで最新のスキルを共有しよう。
PPT
wankuma tokyo #27
PDF
HTML5時代のモバイルWEBアプリケーションデザイン 先生:白石 俊平・秋葉 秀樹
PDF
ゲーム”DAI-ENJO”から始めるLEAN UX by チームAnchoco
PDF
オンライン英会話のモチベーション維持!
Backlog初心者の学習のためあえて課題を「たらい回し」してみた - JBUG福岡 #10 Backlogの使い方に悩んでいる方へ
Javaプログラミング入門【第1回】
2016 新人研修 基本技術講座 (1)
我々はいつまでドキュメント作成に苦しめばいいんだろう
二求の塾 プログラミング講座(2019-08-10)
engineer-life
プレゼンテーション講義スライド
プレゼンテーション講義スライド
知ってるようで知らないWeb基礎セミナー
Prototype in Service Design
Web技術勉強会 20110611
Pm読書会 第0回 抜粋
個人作業を生かした発想系ワークショップの型
チラ見せ♡ナイト@20150410 LT公開用
時間のムダをゼロにする、リーダーの時間の使い方 先生:芝本秀徳
オンライン・ワークショップで最新のスキルを共有しよう。
wankuma tokyo #27
HTML5時代のモバイルWEBアプリケーションデザイン 先生:白石 俊平・秋葉 秀樹
ゲーム”DAI-ENJO”から始めるLEAN UX by チームAnchoco
オンライン英会話のモチベーション維持!
Ad

Similar to Java5 (20)

PDF
第2回勉強会 オブジェクト指向
PPT
オブジェクト指向入門1
PPTX
Wagby r7javadeveloperbasicguide
PDF
第3回勉強会 オブジェクト指向
PDF
いまさら学ぶオブジェクト指向
PDF
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
PPT
オブジェクト指向入門5
PPTX
オブジェクト指向講座
PDF
2018年度 若手技術者向け講座 オブジェクト指向01
ODP
オブジェクト指向勉強会(基礎)
PDF
PDF
オブジェクト指向
PPTX
オブジェクト指向の入門資料
PPT
オブジェクト指向入門6
PPT
第2回勉強会
PDF
デザインパターンとともに学ぶオブジェクト指向のこころ
PDF
オブジェクト指向プログラミングの現在・過去・未来
PDF
オブジェクト指向の設計と実装の学び方のコツ
PPTX
Effective Java 読書会1
PPT
第1回java実習(helloworld)2011
第2回勉強会 オブジェクト指向
オブジェクト指向入門1
Wagby r7javadeveloperbasicguide
第3回勉強会 オブジェクト指向
いまさら学ぶオブジェクト指向
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向入門5
オブジェクト指向講座
2018年度 若手技術者向け講座 オブジェクト指向01
オブジェクト指向勉強会(基礎)
オブジェクト指向
オブジェクト指向の入門資料
オブジェクト指向入門6
第2回勉強会
デザインパターンとともに学ぶオブジェクト指向のこころ
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向の設計と実装の学び方のコツ
Effective Java 読書会1
第1回java実習(helloworld)2011
Ad

Java5