Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Initiation à la POO
Search
Clément Sauvage
February 11, 2017
Programming
63
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Initiation à la POO
Support de cours (OB100)
Clément Sauvage
February 11, 2017
More Decks by Clément Sauvage
See All by Clément Sauvage
The receipe... to build a great iOS App
csauvage
0
18
Bienvenue chez les Ch'tis : How to nuture entrepreneurship in region
csauvage
0
53
Les Tontons @ Vivatechnology 2018
csauvage
0
47
AltConf 2017 - Creating an app for a presidential election
csauvage
0
1.3k
Core Animator - Animation in iOS & OS X painlessly
csauvage
2
5.3k
Story of an iBeacon - Cocoaheads Paris 01/15
csauvage
0
220
Realm.io - The brand new database for mobile apps
csauvage
2
280
Déjeuners Technologiques - Université de Lille 1
csauvage
1
87
CocoaHeads Lille Sept 2013 - Back to school
csauvage
0
270
Other Decks in Programming
See All in Programming
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
3
1.5k
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
150
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
170
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.7k
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
180
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.5k
yield再入門 #phpcon
o0h
PRO
0
560
フィードバックで育てるAI開発
kotaminato
1
120
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
130
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
500
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.5k
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
260
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
460
A Modern Web Designer's Workflow
chriscoyier
698
190k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
540
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Code Review Best Practice
trishagee
74
20k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
190
Transcript
1 — © Clément SAUVAGE - 2017 - clementsauvage.me
OOP 101 Object Oriented Programming with JAVA 2 — ©
Clément SAUVAGE - 2017 - clementsauvage.me
Hello and Welcome 3 — © Clément SAUVAGE - 2017
- clementsauvage.me
4 — © Clément SAUVAGE - 2017 - clementsauvage.me
Just Joking 5 — © Clément SAUVAGE - 2017 -
clementsauvage.me
But before starting... Who am I ? 6 — ©
Clément SAUVAGE - 2017 - clementsauvage.me
Clément SAUVAGE 26 years old Software engineer from #Lille @clementsauvage
on Twitter & @clmntsvg on Instagram 7 — © Clément SAUVAGE - 2017 - clementsauvage.me
I'm also C.T.0's 8 — © Clément SAUVAGE - 2017
- clementsauvage.me
& Also teacher, speaker, trainer, author That's why you have
a lil' camera there (Hi Natasha ! (Only 20/30 min video)) 9 — © Clément SAUVAGE - 2017 - clementsauvage.me
I ❤ and enjoy Swift I ❤ and enjoy Node
& React 10 — © Clément SAUVAGE - 2017 - clementsauvage.me
About this training session Monday to Wednesday : 9h30 ->
12h30 13h30 -> 17h00 (Please be in time) 11 — © Clément SAUVAGE - 2017 - clementsauvage.me
Slides (and not drawings) will be available on my speakerdeck
board Code will be hosted on my Github account By the end of the training → Don't not hesitate to follow me to get future updates * 12 — © Clément SAUVAGE - 2017 - clementsauvage.me
One question remains ! What about you ? Name, Job,
Interest in programming, experience in it, and... What do you expect from this training session ! 13 — © Clément SAUVAGE - 2017 - clementsauvage.me
Training Content Monday - History of programming (procedural vs. OOP
...) - History & Why JAVA & Installing the tools - OOP Basics & Concepts - Unified Modeling Language basics - Time to work ! 14 — © Clément SAUVAGE - 2017 - clementsauvage.me
Training Content Tuesday - JAVA 101 - Our very first
program - Primitives - Structural functions - OOP in details 15 — © Clément SAUVAGE - 2017 - clementsauvage.me
Training Content Wednesday - More advances topic : Swing UI
Library - Recap and exercices 16 — © Clément SAUVAGE - 2017 - clementsauvage.me
Let's go ! 17 — © Clément SAUVAGE - 2017
- clementsauvage.me
Ole Johan Dahl 18 — © Clément SAUVAGE - 2017
- clementsauvage.me
Kristen Nygaard 19 — © Clément SAUVAGE - 2017 -
clementsauvage.me
20 — © Clément SAUVAGE - 2017 - clementsauvage.me
21 — © Clément SAUVAGE - 2017 - clementsauvage.me
22 — © Clément SAUVAGE - 2017 - clementsauvage.me
UML : Unified Modeling Language 23 — © Clément SAUVAGE
- 2017 - clementsauvage.me
24 — © Clément SAUVAGE - 2017 - clementsauvage.me
Day 2 : Let's Code 25 — © Clément SAUVAGE
- 2017 - clementsauvage.me
Recap about JAVA & the JVM : Main idea :
Write once, run everywhere 26 — © Clément SAUVAGE - 2017 - clementsauvage.me
Tools JDK & JRE 27 — © Clément SAUVAGE -
2017 - clementsauvage.me
JDK : Java development kit The Java Development Kit (JDK)
is an implementation of either one of the Java Platform, (...) released by Oracle Corporation in the form of a binary product aimed at Java developers on Solaris, Linux, Mac OS X or Windows. The JDK includes a private JVM and a few other resources to finish the development of a Java Application. 28 — © Clément SAUVAGE - 2017 - clementsauvage.me
JRE : Java Runtime Environment The Java Runtime Environment is
a software distribution containing a stand-alone Java VM, browser plugin, Java stdlib and a configuration tool. 29 — © Clément SAUVAGE - 2017 - clementsauvage.me
Downloading & installing the tools All this stuff is available
freely on Oracle (& Java website) 30 — © Clément SAUVAGE - 2017 - clementsauvage.me
31 — © Clément SAUVAGE - 2017 - clementsauvage.me
Once downloaded and installed, please check everything is working properly
by running java -version >java version "1.8.0_121" >Java(TM) SE Runtime Environment (build 1.8.0_121-b13) >Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode) 32 — © Clément SAUVAGE - 2017 - clementsauvage.me
Where should we writing code ? As we are warrior
we'll use 33 — © Clément SAUVAGE - 2017 - clementsauvage.me
Let's create a project folder and then a Main.java file
mkdir helloWorld && vim main.java 34 — © Clément SAUVAGE - 2017 - clementsauvage.me
Let's write our fundamental Hello, World ! public class Main
{ public static void main(String[] args) { System.out.println("Hello World"); } } 35 — © Clément SAUVAGE - 2017 - clementsauvage.me
Then, let's compile it and run it ! javac Main.java
javac is the command for Java compiler When running ls we shall see a main.jar file 36 — © Clément SAUVAGE - 2017 - clementsauvage.me
OOP Concepts 37 — © Clément SAUVAGE - 2017 -
clementsauvage.me
Enough of VIM ! Let's download a real tool :
IntelliJ Idea, the most complete toolbelt for JAVA developers 38 — © Clément SAUVAGE - 2017 - clementsauvage.me
Demo Time 39 — © Clément SAUVAGE - 2017 -
clementsauvage.me
OOP Concepts 40 — © Clément SAUVAGE - 2017 -
clementsauvage.me
Inheritance 41 — © Clément SAUVAGE - 2017 - clementsauvage.me
Polymorphism 42 — © Clément SAUVAGE - 2017 - clementsauvage.me
Encapsulation 43 — © Clément SAUVAGE - 2017 - clementsauvage.me
Hands on code 44 — © Clément SAUVAGE - 2017
- clementsauvage.me