Slide 1

Slide 1 text

SMALLTALK OBJECT-ORIENTED PROGRAMMING BASICS

Slide 2

Slide 2 text

@statonjr OOP Basics with Smalltalk 100 Dealerships 10,000+ Employees

Slide 3

Slide 3 text

@statonjr OOP Basics with Smalltalk OVERVIEW

Slide 4

Slide 4 text

@statonjr OOP Basics with Smalltalk What is OBJECT-ORIENTED PROGRAMMING?

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

@statonjr OOP Basics with Smalltalk 1966

Slide 7

Slide 7 text

@statonjr OOP Basics with Smalltalk 1970

Slide 8

Slide 8 text

@statonjr OOP Basics with Smalltalk 1972

Slide 9

Slide 9 text

@statonjr OOP Basics with Smalltalk Six Main Ideas of Smalltalk

Slide 10

Slide 10 text

@statonjr OOP Basics with Smalltalk Everything is an object

Slide 11

Slide 11 text

@statonjr OOP Basics with Smalltalk Objects communicate by sending and receiving messages

Slide 12

Slide 12 text

@statonjr OOP Basics with Smalltalk Objects have their own memory

Slide 13

Slide 13 text

@statonjr OOP Basics with Smalltalk Every object is an instance of a class

Slide 14

Slide 14 text

@statonjr OOP Basics with Smalltalk The class holds the shared behavior for its instances

Slide 15

Slide 15 text

@statonjr OOP Basics with Smalltalk To eval a program list, control is passed to the first object and the remainder is treated as its message

Slide 16

Slide 16 text

@statonjr OOP Basics with Smalltalk 1976

Slide 17

Slide 17 text

@statonjr OOP Basics with Smalltalk

Slide 18

Slide 18 text

@statonjr OOP Basics with Smalltalk Everything is an object

Slide 19

Slide 19 text

@statonjr OOP Basics with Smalltalk Data Code

Slide 20

Slide 20 text

@statonjr OOP Basics with Smalltalk Data Code Methods

Slide 21

Slide 21 text

@statonjr OOP Basics with Smalltalk Data Code Methods Variables

Slide 22

Slide 22 text

GENERALLY, WE DON'T WANT THE PROGRAMMER TO BE MESSING AROUND WITH STATE, WHETHER SIMULATED OR NOT. Alan Kay THE EARLY HISTORY OF SMALLTALK

Slide 23

Slide 23 text

@statonjr OOP Basics with Smalltalk Objects communicate by sending and receiving messages

Slide 24

Slide 24 text

@statonjr OOP Basics with Smalltalk SENDER RECEIVER Message Return Value

Slide 25

Slide 25 text

@statonjr OOP Basics with Smalltalk Every object is an instance of a class

Slide 26

Slide 26 text

@statonjr OOP Basics with Smalltalk Class Instances

Slide 27

Slide 27 text

@statonjr OOP Basics with Smalltalk Class Instance Class Methods Class Variables Instance Methods Instance Variables Instance Methods Instance Variables

Slide 28

Slide 28 text

@statonjr OOP Basics with Smalltalk The class holds the shared behavior for its instances

Slide 29

Slide 29 text

@statonjr OOP Basics with Smalltalk COMPOSITION

Slide 30

Slide 30 text

@statonjr OOP Basics with Smalltalk INHERITANCE

Slide 31

Slide 31 text

@statonjr OOP Basics with Smalltalk name age grade Person Student

Slide 32

Slide 32 text

@statonjr OOP Basics with Smalltalk POLYMORPHISM

Slide 33

Slide 33 text

@statonjr OOP Basics with Smalltalk SMALLTALK SYNTAX

Slide 34

Slide 34 text

@statonjr OOP Basics with Smalltalk SMALLTALK SYNTAX

Slide 35

Slide 35 text

@statonjr OOP Basics with Smalltalk SMALLTALK SYNTAX Tokens: Identifiers, Numbers, ‘Strings’, “Comments”, Binary Operators, Keywords, Special Tokens

Slide 36

Slide 36 text

@statonjr OOP Basics with Smalltalk SMALLTALK SYNTAX Special Tokens: #:^’|”;()[] Tokens: Identifiers, Numbers, ‘Strings’, “Comments”, Binary Operators, Keywords, Special Tokens

Slide 37

Slide 37 text

@statonjr OOP Basics with Smalltalk SMALLTALK SYNTAX Special Tokens: #:^’|”;()[] Tokens: Identifiers, Numbers, ‘Strings’, “Comments”, Binary Operators, Keywords, Special Tokens Reserved Words: nil false true self super

Slide 38

Slide 38 text

@statonjr OOP Basics with Smalltalk SMALLTALK SYNTAX Special Tokens: #:^’|”;()[] Tokens: Identifiers, Numbers, ‘Strings’, “Comments”, Binary Operators, Keywords, Special Tokens Reserved Words: nil false true self super Syntactic Forms: Unary messages, Binary messages, Keyword messages, Block closures, Return Value, Method definition, Assignment, Cascade

Slide 39

Slide 39 text

@statonjr OOP Basics with Smalltalk DEMO

Slide 40

Slide 40 text

@statonjr OOP Basics with Smalltalk RESOURCES http://pharo.org http://pharobyexample.org Smalltalk-80: The Language and Its Implementation http://files.pharo.org/books/ ProfStef go