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
20
Bienvenue chez les Ch'tis : How to nuture entrepreneurship in region
csauvage
0
57
Les Tontons @ Vivatechnology 2018
csauvage
0
50
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
私のClaude Code活用法 (個人開発編) - PHPerKaigi mini #4(2026/08/24)
panda_program
1
200
信頼性の目標を誰も求めてない
shubox
0
480
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.5k
AIに既存システムを理解させる技術 ~レガシーを見捨てないハーネスエンジニアリング入門~
ochtum
0
200
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
0
200
初めての模倣学習とVLA
natsutan
0
420
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.3k
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
230
不幸な GC
chencmd
0
870
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
250
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
0
100
Building an Out-of-Order CPU
latte72
0
320
Featured
See All Featured
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
640
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Evolving SEO for Evolving Search Engines
ryanjones
0
280
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Everyday Curiosity
cassininazir
0
310
Agile that works and the tools we love
rasmusluckow
331
22k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
230
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Automating Front-end Workflow
addyosmani
1369
210k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
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