object-based programming

36
Object-based Programming • Intuitive explanation • Two concrete examples • Calculators • addition • BMI • Programming Environment

Upload: cameran-barrett

Post on 31-Dec-2015

29 views

Category:

Documents


1 download

DESCRIPTION

Object-based Programming. Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment. Computer Vs Program Model. CPU. Program. ???. Compiler. Structuring in Scripts. Speech. Introduction. Body. Conclusion. Paragraph 1. Paragraph 2. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Object-based Programming

Object-based Programming

• Intuitive explanation

• Two concrete examples

• Calculators

• addition

• BMI

• Programming Environment

Page 2: Object-based Programming

Computer Vs Program Model

CPU Program

Compiler

???

Page 3: Object-based Programming

Structuring in Scripts

Speech

Introduction ConclusionBody

Paragraph 1 Paragraph 2

Sentence 1 Sentence 2

Script components are

abstract

So are program components

Page 4: Object-based Programming

Manufactured Objects

Natural Objects

Program Components ~ Physical Objects

~ Program

Objects

Page 5: Object-based Programming

Program Objects ~ Manufactured Objects

Program

Object

add

subtract

methodsexecuteinvokecall

manufactured byaccelerate

brake

operations

perform

Classinstance of

Program

Object

Page 6: Object-based Programming

Classification through Factories

manufactured by

manufactured by

Page 7: Object-based Programming

Classification through Classes

ASquareCalculator

Instance

ASquareCalculator instance of

ASquareCalculator

Instance

ABMICalculator

Instance

ABMICalculator instance of

ABMICalculator

Instance

Page 8: Object-based Programming

A Simple Class

public class ASquareCalculator {

public int square(int x) {

return x*x; }

}

Page 9: Object-based Programming

2.2 Nature of a Function

Domain/ParameterValues

Range/ResultValues

Mapping

1

42

3

1

9... ...

Page 10: Object-based Programming

Mathematics Vs Java Function Syntax

Inspiration for Functional Languages

square: I Isquare(x) = x2

Mathematics

public int square(int x) {

return x*x;}

Java

Page 11: Object-based Programming

Instantiating ASquareCalculator

Page 12: Object-based Programming

ASquareCalculator Instance

Page 13: Object-based Programming

Invoking a Method

Page 14: Object-based Programming

ABMICalculator

Body Mass

Index

weight

height2

(kg)

(metres)

public class ASquareCalculator {

public int square(int x) {

return x*x; }

}

public class ABMICalculator {

public int calculateBMI (int weight, int height) {

return weight/(height*height);

}

}

Page 15: Object-based Programming

Bare Bone Environment

•MS-DOS Prompt (Command Interpreter)

•Notepad (editor)

•Jvc (J++ compiler)

•Jview (J++ interpreter)

•ObjectEditor

Page 16: Object-based Programming

Creating MS-DOS Prompt Window

Page 17: Object-based Programming

Creating MS-DOS Prompt Window

Page 18: Object-based Programming

Using Notepad to Edit Autoexec

notepad C:\autoexec.bat

Page 19: Object-based Programming

Setting Path and Classpath

• Path

•List of Command Directories

•Must have Jvc and Jview Directories

• Class Path

•List of Library Directories, Jar Files, Zip Files

•Add oe.jar, shapes.jar, swingall,jar

Page 20: Object-based Programming

Setting Path and ClasspathSET PATH=%PATH%;C:"\Program Files\Microsoft Visual Studio\VJ98"

SET CLASSPATH=%CLASSPATH%;.;D:\Java\lib\oe.jar;D:\Java\lib\shapes.jar;D:\Java\lib\swingall.jar

Reboot!

previous classpath

current directory jar files

may be zipped

Page 21: Object-based Programming

Check After Reboot

Page 22: Object-based Programming

Developing BMI Program

Page 23: Object-based Programming

Interacting with ObjectEditor

Page 24: Object-based Programming

Interacting with ObjectEditor

Page 25: Object-based Programming

Program Development ProcessText Editor

ABMICalculator Source Code

creates

Java Compiler

reads

ABMICalculator Object (Byte) Code

creates

Java Interpreter

ABMICalculator Instance

calculateBMI

instantiates calls

ObjectEditor

main

calls

Page 26: Object-based Programming

ClassHeader

ClassBody

Anatomy of a Class

2.

3.

4.

5.

6.

7.

{

{

}

1.

}

AccessSpecifier

public class ABMICalculator

MethodHeader

Method Body

public double calculate BMI(double weight, double height

ReturnType

ReturnStatement

return

ReturnExpression

weight/(height*height);

ParameterName

Parameter Type

Page 27: Object-based Programming

Formal Vs Actual Parameters

parametersactual

public double calculateBMI(double weight, double height) {

return weight / (height*height);}

parametersformal

Invoke method

weight 0

height 0

variables memory

assigned

74

1.77

Page 28: Object-based Programming

Errors

class ABMICalculator {double calculateBMI(double weight, double height)

{return (height*heigh)/weight

}

Syntax Error

Semantics Error

Logic Error

Access Error

Page 29: Object-based Programming

Class Access Error

Page 30: Object-based Programming

Method Access Error

Page 31: Object-based Programming

User Error

Page 32: Object-based Programming

User Error

Page 33: Object-based Programming

JVC Error Reporting

ABMICalculator.java (3,3) : error J0232: Expected '{' or ';'ABMICalculator.java (3,3) : error J0021: Expected type specifierABMICalculator.java (3,3) : error J0019: Expected identifierABMICalculator.java (5,1) : error J0020: Expected 'class' or'identifier'

Line no char. no

Page 34: Object-based Programming

Case Conventions

• Start variable name with lowercase letter (weight).

•Start class name with uppercase letter (ABMICalculator)

•Start each new word with upper case letter (ASquareCalculator)

Page 35: Object-based Programming

Object Editor Changes Case

calculateBMI()

Page 36: Object-based Programming

Identifiers• Reserved Words/KeyWords

•double, class, int, public, return

•boldface

• Programmer-defined Names

•Variable Names

•Class Names

•First character is letter

•Other characters:letter, digit, _

•calculateBMI2

•calculate_BMI