Title: INT2104
1 INT2104 ???????????????????????? (Object
Oriented Programming Development)
www.thawatchai.net/int2104
????????? ????????????
2?????????
- ???????????????????????????( Introduction to
Object-oriented ) ????????????????????????????????
??? ?????????????(object)????(class)?????????(Meth
od) - ???????????????????????????? ???????????????? ?
3?????????
- ????????????????????? ??????????????????????? (
Control Structures)??????????? ????????????????
????? (String) ?????? (Array) - ???????????????????????????????????
?????????????????? ??????????????????????(Polymorp
hism) ???????????????????????????????????????(MySQ
L)?????????
4???????????
- ????????????
- ???????????????? ????????? ????? ?????????
????????????????????????????????????(
Introduction to Object-oriented )
???????????????????????????????????
?????????????(object) ????(class)
?????????(Method) ????????????????????????????????
? ????????????????????? ?????????????
5????????????
- ???????????????????????????????????? (Object
Programming with Java) - ??????????????????????? ??????????????????????????
?? ???????????????? ? ?????????????????????
??????????????????????? (Control Structures)
6????????????
- ??????????? ???????????????? ???????????????????
(String)????????? (Array) ????????????????????????
??????????? ?????????????????? - ??????????????????????(Polymorphism) ????????
package???????????????????????????????????????????
??(MySQL)?????????
7??????????????
- ??????????????????????????????????????
- ????????
- Objects First with Java David Barnes Michael
Kolling 2009 - ???????????? JAVA ????????? ????????????? 2
- ???????/??? ??????? ???????? ??????,2550
- 2.Computing Concepts with Java Essentials 3rd,Cay
Horstmann _at_John Wiley Sons,Inc ISBN
0-471-24371-x
8??????????? (???)
- ????????????????????
- 1.???????????? JAVA ????????? ????????????? 2
- ???????/??? ??????? ???????? ??????,2550
- 2 .???????????????????????????????????????? JAVA
(????????????) - ???????/??? ??????? ?????? ? ??????
- 3.Java GUI using NetBeans ??????? ????????
??????,2551 - 4.????????????????????????? ??????????????????????
?????????????? ?.????????? ???????????? 2551
9 ????????????????????
- ????????????????????
- 1.???????????? JAVA ?????????
????????????? 2 - ???????/??? ??????? ???????? ??????,2552
- 2 .???????????????????????????????????????? JAVA
(????????????) - ???????/??? ??????? ?????? ? ??????
- 4.Java GUI using NetBeans ??????? ????????
??????,2553 - 5.????????????????????????? ?????????????????????
??????????????? .????????? ???????????? 2554 - 6.http//www.thawatchai.net/int2104.
10????????????????????????
- ??????? ?????????? 5 ?????? 5 ?????????
15 ????? ?????? 0
- Midterm ??????????
30 ????? - ???-??????????
20 ????? ????????? - ?????????
5 ????? - Final
30 ????? - ???
100 ?????
11????? Java
???????? 1
- ?????????????????, ????????? "write once, run
anywhere" - ???????????????? Java
- ???????????????????
- Java ??? World Wide Web
- ???????????????????
12 Object Oriented Technology Concepts
13Object
- ??????????????????????????????????????????????????
???????????? ?????????????????????????????????????
????????????? - ?????????? ???? ?????????????????????????
??????????????????????????????????????????????
?????, ??????, ????, ???????, ???? ???
14Object
- ??????????????????????????? ?????????????????,
?????????????????, ?????????????????? ??????? - ?????????????????????????????????,
??????????????????????????????????????????????
15Object
- ????????????????????????????????????????
?????????????? - ?????????(Attribute)?????????????
??????????????????????????????????????
16Object
- ???? ??????????????????? ?????????????????????????
????????????????????
17- ????????????????????????????????
?????????????????????????????????????????? ????
?????????????????? ???????????????????????, - ?????????????????????? ????????????????????????
??????? ??????????????????????????????????????????
??????????????????????? - ????????????????????????????????????????
??????????????????????????????????????????????????
? ?????????????????????????????????? ???????????
???????????????????? ?????(???)???????????????????
????????
18- ??????????????????????????????????????????????????
???????????????????? ?????????????????????????????
?????????????????????????????????????????????? - ?????????????????????????????????????????????????
??????????????????????????????????????????????????
????????????????????????? - ????????????????????? (Object-Oriented
Programming Languages) ???? Java, C,
SmallTalk ????????????????????????
19Object Class
Object
Object-Program
ObjectReal-world
20Anatomy of an Object(1)
- An object is an abstraction and has an identity
- An object has a name (which may or may not be
unique) - An object is anything exhibits structure and
behavior - - Structure
- Attribute that define the objects
properties - Each attribute takes on a single value
for a given object - - Behavior
- Operations performed on or by an object
- Each operation is implemented via a
method - Object can be related or linked to other objects
21Anatomy of an Object(2)
22Object Concept
- Things
- Tangible Things gtPhysical Things
- Intangible Things
- ?????(Tole) (??????? ??????? ???????)
- ??????????????(Incident) ???? Event ?????
?????????? - ?????????(Interaction) (??????? 2
Object(???????-???))
231.??????????????????(??????????)
Object
Tangible Things
????????????????? ???? ??????,??????
24Intangible Things ?????(Tole) (???????
??????? ???????) ??????????????(Incident)
???? Event ????? ?????????? ?????????(Interact
ion) (??????? 2 Object(???????-??????))
2.??????????????????(?????????????)
Object
- ?????????
- ???????
- ???
- ???????????????
25 Object Concepts
- Object a thing thats a member of a class
- Examples
- Dwell here a while CLASS vs. OBJECT
- Objects contain attributes behaviors
- Organization
- Generalization/specialization hierarchies
- Whole/part hierarchies
26Object Class (Cont.)
Person
(Person) John Chan
Person Mary Lee
Person Nelson Sze
Class
Objects
27Object Class (Cont.)
- Attribute
- An observable property of objects in a class
- Each object in the class has a value for each
attribute - The value may or may not be unique for an
individual object
28Object Class (Cont.)
Person
(Person) John Chan 30
Person Mary Lee 24
Person Nelson Sze 60
Name String Age int
Class with attributes
Objects
29Object Class (Cont.)
- Operation
- A function or transformation that may be applied
to or by an object in a class e.g. Debit, Credit - All objects in a class share the same operations
- Each operation has the current object as an
implicit argument
30Object Class (Cont.)
- Method - The implementation of an operation in a
class - Query - An operation which merely computes a
value without modifying any object
31Object Class (Cont.)
Person
Name Age
Attributes
Change Job Change Address Get Address Get Job
Operations
32Class and Object
Employee
Employee
Employee
nameString
nameSmith
nameSharp
age24
age52
ageInteger
Objects instantiated from the class Employee
Class Employee
33Representing Objects
- An object is represented as rectangles with
underlined names
Professor
a b 10
a b 10
ProfessorClark
Class Name Only
ProfessorClark Professor
Object Name Only
Class and Object Name
(stay tuned for classes)
34What is a Class?
- A class is a description of a group of objects
with common properties (attributes), behavior
(operations), relationships, and semantics - An object is an instance of a class
- A class is an abstraction in that it
- Emphasizes relevant characteristics
- Suppresses other characteristics
OO Principle Abstraction
35Sample Class
Class Course
Properties Name Location Days offered Credit
hours Start time End time
Behavior Add a student Delete a student Get
course roster Determine if it is full
a b 10
36Representing Classes
- A class is represented using a compartmented
rectangle
a b 10
Professor
Professor Clark
37Representing Classes in the UML
- A class is represented using a rectangle with
compartments.
Professor J Clark
38The Relationship Between Classes and Objects
- A class is an abstract definition of an object
- It defines the structure and behavior of each
object in the class - It serves as a template for creating objects
- Objects are grouped into classes
Objects
Class
Professor
39Basic Principles of Object Technology
??????????????????????????????????????????????????
? ???????????????
40About the Java Technology .?
41Write once, run anywhere
- "???????????????? ?????????????? ???????????????
?????????????????????"
?????????????????????? .. Consistently ??????
????????????????????????? Anywhere on any
platform ????????????? ???????????????????? Reli
ability ??????????? Security ??????? Low
Risk ????????????? ??????????
?????????????????????? C, JAVA, Small Talk,
Object Pascal,VBasic ??? We
choose "JAVA".
42Java technology is both a programming language
and a platform.
About the Java Technology .?
Java Platforms A platform is the hardware or
software environment in which a program runs.
43A Virtual Machine
- ???????????????? Compiler ??? Interpreter
Compiler ???? Compile ????????????? ??? Compile
???? ByteCode Interpreter ?????????????????
ByteCode ???????????? Load ??????????????????????
???? ???????? ByteCode ???????????????????????????
????
44Byte Code and Java Virtual Machine
- Existing Development Environment
cc Hello.c o Hello Hello
Binary Code
Run
45Bytecodes and the Java Virtual Machine
- Java Development Environment
javac Hello.java Hello.class created java Hello
Byte Code
JVM
Run
46Java is Cross-Platform?
47Java is Cross-Platform?
- Truth Java programs can compile to
machine-independent bytecode - Truth All major operating systems have Java
runtime environments - Most bundle it (Solaris, MacOS, Windows 2k, OS/2)
Compile Time
Run Time
48Java Platforms
- ????????????? OS ??? Platform ???????? ??????
?????????? Compile ???? (Write One - Run
Anywhere) - ??????????? Web Page
- ??????????????????????? Java Virtual Machine ????
?????????????? ????????
49???????????????????????(Java Technology?)
1. Java Virtual Machine (JVM)
2. Java Runtime Environment (JRE)
3. Java 2 Software Developer Kit (J2SDK)
501. Java Virtual Machine (JVM)
???????????????????????????????????????????
(interpreter) ??????????????????????????????????
????????? (interpreter) ??? ??????????????????????
???????????????????????? ??????????????????????
??????????????? ?????????????????? JVM
512.Java Runtime Environment (JRE)
- ????????????????????????????? ?????????? 3
??????? ??????
- ?????????????????? Class loader
- ????????????????????? Bytecode Verifier
- ????????????????? Runtime Interpreter
523. Java 2 Software Developer Kit (J2SDK)
- ??????????????????????????? ??????????????????????
?? ??????????????? Editor ??????????? ????????? - ????????????????? (javac.exe)
- ??????????????????????? (java.exe)
53???????????????? 2 (Platform of Java 2)
Java 2 Platform, Enterprise Edition (J2EE)
Java 2 Platform, Standard Edition (J2SE)
Java 2 Platform, Micro Edition (J2ME)
54Java 2 Platform, Standard Edition (J2SE)
- ????????????????????????????????????
- ???????????????????????????? ?????????? Java
Application (???????????????????) ??? - Java Applet (???????????????????????????? ???? IE)
55Java Application (???????????)
Class
Byte code Byte code Byte code Byte code
Java.exe
Javac.exe
compile
????
Byte code file (.class)
Source code (.java)
Windows
Unix
Linux
JVM
JVM
JVM
56Java Applete(??????????? )
Java app
applets
Browser
JVM
JVM
application
Operating System
Hardware
57Java 2 Platform, Enterprise Edition (J2EE)
- ??????????????????????????????????
- ???????????????? ????????????????????
????????????? Application Server ???? Web Server - ???????????????????????????? ?????????????????????
??????????????????????????? Servlets, JSP??? XML
58Java 2 Platform, Micro Edition (J2ME)
- Java 2 Platform, Micro Edition (J2ME)
?????????????????????????????????????????? - ???????????????????????? ?????????????????? ????
???????????????? (PDA Personal - Digital Asistance)
59Standard Java ?????????????????? ?????
- Sun JDK http//java.sun.com/
- Standard 1.0 JDK 1.0 Old
- Standard 1.1 JDK 1.1 , 1.1.6, 1.1.8 Still
using - Standard 2 JDK 1.2 , 1.2.2 , 1.3,1.4,1.5
Current - Microsoft JDK 4.0
- IBM JDK 1.1.8
- ?? JDK ???????????? Compiler, JVM, Class
library, Documents,Demos and Tools
60???????????????????
- ???????? Java Application / Java Applet
- ????????? Syntax
- ?????? Standard Class Library
- ???????????? OOP
- ????? Application ???????????
- ?????????????????? Java Class/Components
- ????? Object Orient Design/UML
- ????? Design Pattern/Framwork
- ????????????????????????
- ????????????????? Java ???????? Java2D, Java3D,
JDBC, J2EE ....
To be Java Master. You must coding, coding and
coding
61Java Development Kit
- Jbuilder By Borland
- Microsoft Visual J
- Semantec Cafe
- Jfactory by Rouge Wave
- IBM Visual Age for Java
- NetBean IDE 6.1
62- Real J (Free 487 Kb)???? Java IDE ????????
???????????????????????????????????? ?????????
FREE ??????????? freejava ????????????????????????
???? java ?????????????????????? sun (??????????)
???????????????? RealJ ???????????? JCreator
?????? RealJ ????????? Font ?????????????????????
Homepage http//www.realJ.com/ - BlueJ 2.1.3
- Jeliot 3.0
63?????????????
64??????
- ??????????????????
- ????????????????
- ?????????????
- ???????????????????????????????
- ??????? HelloWorld ???????????????????????????
65??????????????????
66- ?????????????????.?. 1990
- ??????? ????? (Pattrick Naughton) ?????????????
- ????? ??????? (James Gosling) ????????????????????
- ???????
- ????????????????????????????? (personal computer)
??????????????????????????????????????? (consumer
electronics)
67????????
- ??? ??? (Bill Joy) ???????????????????
- ??????????????????????????????????????????
???????????????????????? HotJava - Netscape Navigator
- 23 ?????? ?.?. 1996 ????????? JDK 1.0
68????????????????
69????????????????
- ???????????????????????
- ??????????????
- ????????????????????
70????????????????
- ??????????????????????????????????????????
- ?????????????????????????
- ???????????
- ?????????????
71????????????????
- ?????????????????????????????????????????
(garbage collection) - ?????????????????????????????????
- 794 interfaces
- 2485 classes
- ???
72?????????????
73????????? (platform)
- ????????????????????????
- Hardware
- Software
74?????????????
- Java 2 Platform, Standard Edition (J2SE)
- ??????????????? (Java application)
- ??????? (Java applet)
- Java 2 Platform, Enterprise Edition (J2EE)
- ????????????????????? (multitiered)
?????????????????????????????????? - Java 2 Platform, Micro Edition (J2ME)
- ???????????????????? ???? ?????????????? ??????
(personal digital assistant) ???????????????????
(TV set-top box
75???????????????????????????????
76???????????????? (JDK)
- ???????????????? (Java Development Kit - JDK)
- ?????????????? (javac.exe)
- ???????????????????????????? (Java Runtime
Environment - JRE) (java.exe) - Download http//java.sun.com
77????????????????????????????????
- Notepad
- ?????????? Windows
- J-Lab
- http//www.cp.eng.chula.ac.th/somchai/JLab/
- Netbeans
- http//www.netbeans.org/
- Eclipse
- http//www.eclipse.org/
78Notepad
79J-Lab
80Netbeans
81Eclipse
82??????? HelloWorld ???????????????????????????
83??????? HelloWorld
- ?????????? Hello, World! ???????????????????????
84?????????????? cmd
2
1
3
85??????????????
86??????? HelloWorld
87??????? HelloWorld
- public class HelloWorld
-
- public static void main(String args)
-
-
88??????? HelloWorld
- public class HelloWorld
-
- public static void main(String args)
-
- System.out.println("Hello, World!")
-
89??????? HelloWorld ?????????
90??????? HelloWorld ?????????
- import java.awt.
- import javax.swing.
- public class HelloGraphicsWorld
- public static void main(String args)
- JFrame frame new JFrame()
- public void paint(Graphics g)
- g.drawString("Hello, World!",
110, 150) - g.drawOval(100, 130, 90, 30)
-
-
-
- frame.setSize(300, 300)
- frame.setDefaultCloseOperation(WindowConst
ants.EXIT_ON_CLOSE) - frame.setVisible(true)
-
-
91?????????????????
- ???????????????????
- // print the word hello
- ??????????????????????
- /
- This program
- will print
- the word hello
- /
92?????????????????
- ??????????????????????????????????????????????????
??? javadoc - /
- /
93????
94????
- ???????????????????????????????????????????????
??????????? ??? ??????? - ??????????????????????????????????????????????????
? ????????????????????????????????????????????????
???????? ?????????????????????????????????????????
????? - ??????????????????????????????????
??????????????????????????????????????????????????
?????? ???????????????????????????????????????????
???????????????????????????????????????
95????
- ?????????????????????????????????????????? java
- ???????????????????????????????? javac
- ????????????????????????????????? class
- ??????????? class ????????????? JRE ???
- ?????????? java ??????? .class ?????????? main()
- ???????????????????????? System.out.println("????
??????????????????")
96?????????
- Ex1. ???????????? HelloWorld ???????????????????
97???? Ex1.
public class Ex1 public static void
main(String args)
System.out.println("Hello, World!")
98????????? ????? 1
- Ex2. ????????????????????????????????????
????????????????? Hello ????????????????????
World
99???? Ex2.
public class Ex2 public static void
main(String args)
System.out.println("Hello")
System.out.println("World")
100????????? ????? 1
- Ex3. ?????????????????????????????????
Hello,World ????????????????????
?????????????????????????????????????????? - public class Ex3
-
- public void main(string args)
-
- system.out.print(Hello)
- system.out.print(,World)
-
-
101???? Ex3.
public class Ex3 public static void
main(String args)
System.out.print("Hello")
System.out.print(", World!")
102??????