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

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

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

Object-based Programming

• Intuitive explanation

• Two concrete examples

• Calculators

• addition

• BMI

• Programming Environment

Page 2: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

Computer Vs Program Model

CPU Program

Compiler

???

Page 3: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

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 Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

Manufactured Objects

Natural Objects

Program Components ~ Physical Objects

~ Program

Objects

Page 5: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

Program Objects ~ Manufactured Objects

Program

Object

add

subtract

methodsexecuteinvokecall

manufactured byaccelerate

brake

operations

perform

Classinstance of

Program

Object

Page 6: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

Classification through Factories

manufactured by

manufactured by

Page 7: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

Classification through Classes

ASquareCalculator

Instance

ASquareCalculator instance of

ASquareCalculator

Instance

ABMICalculator

Instance

ABMICalculator instance of

ABMICalculator

Instance

Page 8: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

A Simple Class

public class ASquareCalculator {

public int square(int x) {

return x*x; }

}

Page 9: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

2.2 Nature of a Function

Domain/ParameterValues

Range/ResultValues

Mapping

1

42

3

1

9... ...

Page 10: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

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 Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

Instantiating ASquareCalculator

Page 12: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

ASquareCalculator Instance

Page 13: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

Invoking a Method

Page 14: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

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 Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

Bare Bone Environment

•MS-DOS Prompt (Command Interpreter)

•Notepad (editor)

•Jvc (J++ compiler)

•Jview (J++ interpreter)

•ObjectEditor

Page 16: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

Creating MS-DOS Prompt Window

Page 17: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

Creating MS-DOS Prompt Window

Page 18: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

Using Notepad to Edit Autoexec

notepad C:\autoexec.bat

Page 19: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

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 Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

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 Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

Check After Reboot

Page 22: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

Developing BMI Program

Page 23: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

Interacting with ObjectEditor

Page 24: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

Interacting with ObjectEditor

Page 25: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

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 Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

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 Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

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 Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

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 Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

Class Access Error

Page 30: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

Method Access Error

Page 31: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

User Error

Page 32: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

User Error

Page 33: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

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 Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

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 Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

Object Editor Changes Case

calculateBMI()

Page 36: Object-based Programming Intuitive explanation Two concrete examples Calculators addition BMI Programming Environment.

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