Download Objects, Classes and Syntax

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Objects, Classes and
Syntax
Dr. Andrew Wallace PhD BEng(hons) EurIng
[email protected]
Overview
• Objects
• Classes
• Syntax
Objects
Objects
• A “real, existing, item”
• “Instance” of a class
Classes
• Class
• Specifies attributes and methods for an object
• Encapsulated data
• Template
• Create objects from
• Instantiate
Quiz
• Define “class” in the context of OO design.
• Define “object” in the context of OO design.
Syntax
• Computers only do what they are told!
• You have to be priciest what and how you tell a computer what to
do!
• Exactly!
Syntax
• Syntax diagram
• Start point
• Term
• Identify
• Path
• Termination
=
Expression
Syntax
• Variable
• A box to put things in
• Can change!
25
Syntax
Expression
• private int
• protected float
• String
Identifier
nVar;
fVar;
sText;
;
Syntax
• Identifiers
Java Letter
Java Letter
a .. z
Java Digit
A .. Z
$
_
OtherJava
Letter
0 .. 9
Syntax
• nText12
• $Text
• m_oObj2
• 12Def
• #we23
Syntax
Primative
type
Identifier
Class type
,
;
Syntax
• private int
• protected float
• String
nVar;
fVar;
sText;
Syntax
• Variables are:
• Boxes you save data in
• You have to declare variables
• What type are they?
• What names does it have?
Syntax
• Class type
•
•
•
•
Built into Java
Data + methods
Create your own
User defined
• String
• Integer
• FileDialog
Syntax
• Primitive data types
• Built into Java
• int – integer (whole numbers)
• short
• long
• float – real numbers (approximately)
• double
• boolean – logical. True or false
• char – a single Unicode character
• byte – 8 bits of data
Syntax
Type
Size
Min
Max
byte
8 Bits
-128
127
short
16 bits
-32 768
32 767
int
32 bits
-2 147 483 648
2 147 483 647
long
< -9 x 1018
> -9 x 1018
float
32 bits
+/- 3.4 x 1038
7 decimal digits
double
64 bits
+/- 1.7 x 10308
15 decimal digits
Quiz
• Define “variable” in the context of software engineering
• List the inbuilt primitive data types in Java
Syntax
• Char
• Unicode character
• 16 bits
• 65 536 unique characters
• A .. Z, Å, Ä, Ö, 1 .. 9, Æ Ë Σ Ω ‫הּ ش‬
• Ordered
• Numbered
• \u2000 = 丠
• www.unicode.org
Syntax
• Boolean
• True or false
• Used in comparisons
• Not a number
• Not the same as C
Syntax
• Objects
• Instances of classes
• How to create an object?
• String
strText = new String();
Syntax
• Constructor
•
•
•
•
A method called when the object is created
Sets up the object
Same name as the class
No return type
• New
• Key word in Java
• Used when creating an object
• Create the object in memory
Syntax
• String
• Reference
strText = new String();
• A variable that tells use where to find an object
• A pointer
strText
• Value
• What’s in the box
• Primitive data type
Hello World
Syntax
• Aliasing
• More than one variable can point to the same object
String
String
strText1 = new String();
strText2 = strText1;
strText1
strText2
Hello World
Syntax
• Garbage collection
• When an object no longer has a reference pointing to it
strText
Hello World
Syntax
class
identifier
Class
associations
Class body
modifier
{
Field
declaration
Constructor
declaration
Method
declaration
}
Class
member
Syntax
public class HelloWorld
{
}
Syntax
type
modifier
identifier
parameters
void
public static void main(String[] args)
{
System.out.println(“Hello World”);
}
Method
body
Quiz
• List the parts of a class definition used in Java
• List the parts of a method definition in Java
Syntax
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println(“Hello World”);
}
}
Syntax
public class FunctionCall
{
private int
m_nCount = 0;
public void func1()
{
m_nCount++;
System.out.println(“Count is : “ + m_nCount);
}
public static main(String[] args)
{
func1();
}
}
Questions?