object-based programming
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 PresentationTRANSCRIPT
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 ConclusionBody
Paragraph 1 Paragraph 2
Sentence 1 Sentence 2
Script components are
abstract
So are program components
Manufactured Objects
Natural Objects
Program Components ~ Physical Objects
~ Program
Objects
Program Objects ~ Manufactured Objects
Program
Object
add
subtract
methodsexecuteinvokecall
manufactured byaccelerate
brake
operations
perform
Classinstance of
Program
Object
Classification through Factories
manufactured by
manufactured by
Classification through Classes
ASquareCalculator
Instance
ASquareCalculator instance of
ASquareCalculator
Instance
ABMICalculator
Instance
ABMICalculator instance of
ABMICalculator
Instance
A Simple Class
public class ASquareCalculator {
public int square(int x) {
return x*x; }
}
2.2 Nature of a Function
Domain/ParameterValues
Range/ResultValues
Mapping
1
42
3
1
9... ...
Mathematics Vs Java Function Syntax
Inspiration for Functional Languages
square: I Isquare(x) = x2
Mathematics
public int square(int x) {
return x*x;}
Java
Instantiating ASquareCalculator
ASquareCalculator Instance
Invoking a Method
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);
}
}
Bare Bone Environment
•MS-DOS Prompt (Command Interpreter)
•Notepad (editor)
•Jvc (J++ compiler)
•Jview (J++ interpreter)
•ObjectEditor
Creating MS-DOS Prompt Window
Creating MS-DOS Prompt Window
Using Notepad to Edit Autoexec
notepad C:\autoexec.bat
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
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
Check After Reboot
Developing BMI Program
Interacting with ObjectEditor
Interacting with ObjectEditor
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
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
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
Errors
class ABMICalculator {double calculateBMI(double weight, double height)
{return (height*heigh)/weight
}
Syntax Error
Semantics Error
Logic Error
Access Error
Class Access Error
Method Access Error
User Error
User Error
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
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)
Object Editor Changes Case
calculateBMI()
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