Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Initiation à la POO
Search
Clément Sauvage
February 11, 2017
Programming
65
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
23
Bienvenue chez les Ch'tis : How to nuture entrepreneurship in region
csauvage
0
58
Les Tontons @ Vivatechnology 2018
csauvage
0
51
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
230
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
280
Other Decks in Programming
See All in Programming
Kotlinの15年とServer-Side Kotlin
n_takehata
1
150
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.1k
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
270
Verilogで学ぶCPU自作入門
uyuki234
8
4.1k
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.2k
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
0
460
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
390
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
220
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
Featured
See All Featured
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
280
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Documentation Writing (for coders)
carmenintech
77
5.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Test your architecture with Archunit
thirion
2
2.4k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
430
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
The Limits of Empathy - UXLibs8
cassininazir
2
720
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
Deep Space Network (abreviated)
tonyrice
0
370
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