Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
ImayoshiYusuke
12 views
Java6
勉強会資料
Engineering
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 95
2
/ 95
3
/ 95
4
/ 95
5
/ 95
6
/ 95
7
/ 95
8
/ 95
9
/ 95
10
/ 95
11
/ 95
12
/ 95
13
/ 95
14
/ 95
15
/ 95
16
/ 95
17
/ 95
18
/ 95
19
/ 95
20
/ 95
21
/ 95
22
/ 95
23
/ 95
24
/ 95
25
/ 95
26
/ 95
27
/ 95
28
/ 95
29
/ 95
30
/ 95
31
/ 95
32
/ 95
33
/ 95
34
/ 95
35
/ 95
36
/ 95
37
/ 95
38
/ 95
39
/ 95
40
/ 95
41
/ 95
42
/ 95
43
/ 95
44
/ 95
45
/ 95
46
/ 95
47
/ 95
48
/ 95
49
/ 95
50
/ 95
51
/ 95
52
/ 95
53
/ 95
54
/ 95
55
/ 95
56
/ 95
57
/ 95
58
/ 95
59
/ 95
60
/ 95
61
/ 95
62
/ 95
63
/ 95
64
/ 95
65
/ 95
66
/ 95
67
/ 95
68
/ 95
69
/ 95
70
/ 95
71
/ 95
72
/ 95
73
/ 95
74
/ 95
75
/ 95
76
/ 95
77
/ 95
78
/ 95
79
/ 95
80
/ 95
81
/ 95
82
/ 95
83
/ 95
84
/ 95
85
/ 95
86
/ 95
87
/ 95
88
/ 95
89
/ 95
90
/ 95
91
/ 95
92
/ 95
93
/ 95
94
/ 95
95
/ 95
More Related Content
PDF
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
by
JustSystems Corporation
PDF
早稲田大学授業 - Java Programing上級
by
Ippei Arita
PDF
Java5
by
ImayoshiYusuke
PDF
Java3
by
ImayoshiYusuke
PDF
第1回内容の振り返り
by
skowata
PDF
Tokyo Rubykaigi 01 t-wada
by
Takuto Wada
PDF
夜子まま塾講義6(androidでhello world)
by
Masafumi Terazono
PDF
Meta programing ruby monday
by
Yuisho Takafuji
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
by
JustSystems Corporation
早稲田大学授業 - Java Programing上級
by
Ippei Arita
Java5
by
ImayoshiYusuke
Java3
by
ImayoshiYusuke
第1回内容の振り返り
by
skowata
Tokyo Rubykaigi 01 t-wada
by
Takuto Wada
夜子まま塾講義6(androidでhello world)
by
Masafumi Terazono
Meta programing ruby monday
by
Yuisho Takafuji
Featured
PDF
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
by
OECD Directorate for Financial and Enterprise Affairs
PDF
2024 Trend Updates: What Really Works In SEO & Content Marketing
by
Search Engine Journal
PDF
Storytelling For The Web: Integrate Storytelling in your Design Process
by
Chiara Aliotta
PDF
Everything You Need To Know About ChatGPT
by
Expeed Software
PDF
How Race, Age and Gender Shape Attitudes Towards Mental Health
by
ThinkNow
PDF
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
by
SocialHRCamp
PDF
Product Design Trends in 2024 | Teenage Engineerings
by
Pixeldarts
PDF
5 Public speaking tips from TED - Visualized summary
by
SpeakerHub
PDF
Getting into the tech field. what next
by
Tessa Mero
PDF
Skeleton Culture Code
by
Skeleton Technologies
PDF
Trends In Paid Search: Navigating The Digital Landscape In 2024
by
Search Engine Journal
PDF
Google's Just Not That Into You: Understanding Core Updates & Search Intent
by
Lily Ray
PDF
2024 State of Marketing Report – by Hubspot
by
Marius Sescu
PDF
ChatGPT and the Future of Work - Clark Boyd
by
Clark Boyd
PDF
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
by
marketingartwork
PDF
PEPSICO Presentation to CAGNY Conference Feb 2024
by
Neil Kimberley
PPTX
How to Prepare For a Successful Job Search for 2024
by
Albert Qian
PDF
Content Methodology: A Best Practices Report (Webinar)
by
contently
PDF
How to have difficult conversations
by
Rajiv Jayarajah, MAppComm, ACC
PDF
Social Media Marketing Trends 2024 // The Global Indie Insights
by
Kurio // The Social Media Age(ncy)
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
by
OECD Directorate for Financial and Enterprise Affairs
2024 Trend Updates: What Really Works In SEO & Content Marketing
by
Search Engine Journal
Storytelling For The Web: Integrate Storytelling in your Design Process
by
Chiara Aliotta
Everything You Need To Know About ChatGPT
by
Expeed Software
How Race, Age and Gender Shape Attitudes Towards Mental Health
by
ThinkNow
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
by
SocialHRCamp
Product Design Trends in 2024 | Teenage Engineerings
by
Pixeldarts
5 Public speaking tips from TED - Visualized summary
by
SpeakerHub
Getting into the tech field. what next
by
Tessa Mero
Skeleton Culture Code
by
Skeleton Technologies
Trends In Paid Search: Navigating The Digital Landscape In 2024
by
Search Engine Journal
Google's Just Not That Into You: Understanding Core Updates & Search Intent
by
Lily Ray
2024 State of Marketing Report – by Hubspot
by
Marius Sescu
ChatGPT and the Future of Work - Clark Boyd
by
Clark Boyd
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
by
marketingartwork
PEPSICO Presentation to CAGNY Conference Feb 2024
by
Neil Kimberley
How to Prepare For a Successful Job Search for 2024
by
Albert Qian
Content Methodology: A Best Practices Report (Webinar)
by
contently
How to have difficult conversations
by
Rajiv Jayarajah, MAppComm, ACC
Social Media Marketing Trends 2024 // The Global Indie Insights
by
Kurio // The Social Media Age(ncy)
Java6
1.
未経験者のためのJava勉強会 第6回
2.
エンジニアカフェ エンジニアやエンジニアに関わる人、エンジニアを目指す人をサポートする施設です。 エンジニアカフェ外観(提供:福岡市) イベントの様子 コワーキングスペース Event
Co-Working&Meeting Consulting Cafe&Bar エンジニアカフェで体験できること
3.
自己紹介 ● 今吉佑介 ● 大学生 ●
Java , Ruby
4.
もくじ ● 継承について ● 抽象クラス
5.
継承について
6.
すでに定義されているクラスを元に 新しいクラスを作成する事
7.
画面に時間を表示する時計クラスを作ることを考えてみましょう
8.
この時計クラスは好みに合わせてデジタル時計やアナログ時計の様に 表示する事ができるとしましょう。 時計クラス ・時刻の設定 ・アラーム ・時、分、秒の管理 アナログ時計 デジタル時計
9.
デジタル時計とアナログ時計は表示形式が違うだけで、現在時刻を表示したり アラームなどの設定も行っています
10.
時計クラスから「アナログ時計」「デジタル時計」を継承しているとなります
11.
継承によって作られたクラスをサブクラスと呼び 継承元になっているクラスをスーパークラスと呼びます 時計クラス ・時刻の設定 ・アラーム ・時、分、秒の管理 アナログ時計 デジタル時計 スーパークラス サブクラス サブクラス
12.
継承を行うことによって出来ること ・既存の機能はそままで新しい機能を追加できる ・既存の機能の名前のまま新しい振る舞いを定義できる ・既存の機能に処理を追加して拡張できる
13.
なぜ継承を使うのか?
14.
継承を用いることによって、コードの追加、 修正といったメンテナンスが容易になったり、 既存のコードの使いまわしやすくなるなどの メリットがあるから
15.
継承は同じ様な機能を持つクラスを複数作る際に便利
16.
既存のコードを再利用する事ができる仕組み つまり継承は...
17.
Studentクラスを用いて継承を体験しましょう
19.
先ほどのクラスではprivateで 名前、年齢、学校名を定義しています
20.
Mainクラスを作成して先ほどの Studentクラスをインスタンス化しましょう
22.
Mainクラスを実行してみましょう
23.
コマンドラインで下記 二つを実行してください
24.
私の場合実行結果はこの様になりました
25.
先ほどのStudentクラスをに継承を行います
26.
Human(人間)クラスをStudent(生徒)クラスへ継承する
27.
Studentクラス Humanクラス 継承! 名前 年齢 学校名
28.
Humanクラスに名前と年齢を持たせて Studentクラスに継承させる
29.
スーパークラス(親クラス)である Humanクラスを作成しましょう
31.
Humanクラスに名前と年齢を定義します
33.
StudentクラスにHumanクラスを継承しましょう
34.
extendsを使用して継承を行う事ができます
35.
記述方法
36.
StudentクラスにHumanクラスを継承するので 次の様に記述します
38.
これで継承を行いました 継承後のStudentクラスを定義しましょう
39.
Humanクラスに記述している部分を省略できる
41.
親クラスに記述されている部分 age,name変数 age,nameメソッド を省略することができる
42.
Humanクラスに記述している部分を 削除した物が次になります
44.
これで継承が完了です
45.
継承の原則
46.
継承には「is - a
の原則」というルールがあります
47.
子クラスは親クラスの一部である 子クラス is -
a 親クラス
48.
今回の場合は Student is
- a Human Student は Human の一部であるとなる
49.
気をつけて頂きたいのは Human is -
a Student とならない様にしてください この場合だと HumanクラスがStudentクラスの一部という意味になっています
50.
間違った継承
51.
間違った継承として is - a
の関係がないのにも関わらず 継承してしまうのが間違った継承です
52.
is - a
が成り立つか考えて継承を行いましょう
53.
子クラスになるほど「特殊で具体的なものに」 具体化(特化)していく 親クラスになるほど「一般的で、抽象的・あいまいなものに」 一般化(凡化)していく
54.
抽象クラス
55.
今回までは予め処理の決まったクラス、 メソッドを呼び出して実行していましたが、 処理の決まっていないクラス、 メソッドを定義しそれを呼び出します
56.
抽象クラスとは?
57.
抽象クラスは、通常のクラス(具象クラス)とは違い 具体的な処理は記述しない 継承後のクラスで具体的な処理を記述する
58.
抽象クラスの記述方法
59.
抽象クラスは通常のメソッドと 抽象メソッドを定義することが可能です
60.
抽象メソッドとは?
61.
現時点で何をするか確定できていないメソッド
62.
継承を行ったクラスで 処理を追加しなければならない
63.
抽象メソッドの記述方法
65.
抽象メソッドのworkを定義するとなるとこの様になります
66.
質問
67.
手を動かしながら抽象クラス、 抽象メソッドを記述しましょう! お好きなテキストエディタを開いてください!
68.
今から作成するプログラムは、会社員が出社、仕事、帰宅を行う プログラムです
69.
Employeeファイルを作成して abstractでEmployeeを定義しましょう
70.
・protected変数を定義 ・抽象メソッドを定義
71.
・通常のメソッドを定義します ・コマンドラインに社員の出社と帰宅を表示させます
72.
注意点 抽象クラスはインスタンス化することができない
73.
抽象クラスをインスタンス化しようとすると ...?
74.
コマンドプロンプトでこの様にエラーが表示されます
75.
抽象クラスを継承しましょう
76.
今回は開発者クラス(Development)に継承します
77.
Developerファイルを作成して Employeeクラスを継承したDeveloperを定義します
78.
Sampleクラスファイルを作成して Developerクラスをインスタンス化させましょう
79.
Sampleクラスファイルを作成しましょう
80.
先ほどのSampleクラスにDeveloperクラスをインスタンス化さてましょう!
81.
親クラスで定義したgoOfficeメソッドとgoHomeメソッドを呼び出してみましょう!
82.
コマンドラインでSampleファイルを実行しましょう!
83.
実行結果はこの様になりました!
84.
抽象クラスEmployeeの下線部のメソッドを呼び出しました
85.
抽象メソッドのworkメソッドをまだ呼び出していませんので、呼び出してみましょう!
86.
下線部で抽象クラスの workメソッドを呼び出してみてください!
87.
コンパイラを通してみましょう!
88.
この様にエラーが出力されます!
89.
抽象メソッドを使用する場合は抽象メソッドを オーバーライドする必要があります!
90.
下線部様にオーバーライドを行い再度コンパイルしましょう!
91.
コンパイルが通り出力されました!
92.
まとめ ・継承クラスはインスタンス化できない ・継承メソッドはオーバーライドしないと使用できない
93.
質問
94.
ありがとうございました!
95.
エンジニアカフェでは 随時ご相談を受け付けております! 本日のイベントに関するご質問はもちろん エンジニアに関するご相談・ご質問はお気軽にどうぞ! ・勉強の仕方を教えて欲しい ・学生でも参加しやすいコミュニティが知りたい ・子どもにおすすめのプログラミング教材ってある? ・3Dプリンタでこんなの作れる? などなど! スタッフやコミュニティマネージャーがオフライン・オンライン問わず ご対応致します。
Download