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
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
23
Bienvenue chez les Ch'tis : How to nuture entrepreneurship in region
csauvage
0
57
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
アクセシビリティから考える情報設計
high_g_engineer
0
400
FreeBSDでZabbixを動かす
kenkino
0
320
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
190
すこし踏み込む CancellationToken
htkym
2
980
Agents on Rails - Rails at Scale 2026
irinanazarova
0
210
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
200
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.9k
Webの地図
yosuke_furukawa
PRO
6
4.7k
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
150
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
510
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
380
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
660
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
55
13k
Making Projects Easy
brettharned
120
6.8k
Embracing the Ebb and Flow
colly
88
5.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Side Projects
sachag
456
43k
Thoughts on Productivity
jonyablonski
76
5.4k
Speed Design
sergeychernyshev
33
2.1k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
440
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
Writing Fast Ruby
sferik
630
63k
Fireside Chat
paigeccino
43
4k
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