Computer Programming

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Computer Programming as PDF for free.

More details

  • Words: 1,379
  • Pages: 23
Computer Programming IE (3799-017) (4) Nov. 25, 2008

Lecturer Ying CHEN [email protected] Department of Systems Innovation

Teaching Assistant Jeffrey TAN [email protected] Department of Precision Engineering 1

CP-IE (4), Nov. 25, 2008

1

Content of Java Programming (3) 11/18 1. Getting Started 2. Language Basics 3. Control Flow Statement 4. Basic of Object-Oriented Programming (4) 11/25 …

Now, Please login to your Unix … 2

CP-IE (4), Nov. 25, 2008

2

4. Basic of Object-Oriented Programming (OOP) Basic concepts Procedural-Oriented programming: algorithm + data structure → code (functions) Object-Oriented programming: data structure + algorithm → code (methods) 3

CP-IE (4), Nov. 25, 2008

3

4. Basic of Object-Oriented Programming (OOP) Basic Concept Object: basic unit of OOP Instance Class Real Object Software Object describes theWorld generality of objects State Behavior ↓

Variables 4



Methods CP-IE (4), Nov. 25, 2008

4

4. Basic of Object-Oriented Programming (OOP) Bird Class → Color, Weight, Size ... → Variables Behaviors → Fly( ), Walk( ), Eat( ) ... → Methods State

Object Bird A Color = gray Weight = 89g Fly( )

5

Bird B Color = yellow Weight = 61g Eat( )

CP-IE (4), Nov. 25, 2008

5

4. Basic of Object-Oriented Programming (OOP) Basic Concept Message

6

CP-IE (4), Nov. 25, 2008

6

4. Basic of Object-Oriented Programming (OOP) Basic Concept Characteristics of Object-Oriented programming • Encapsulation • Inheritance • Polymophism

7

CP-IE (4), Nov. 25, 2008

7

4. Basic of Object-Oriented Programming (OOP) Basic Structure of program Same! File.java

Variable Scope 8

main Class member variables main method local variables method body other method local variables method body other Class member variables method local variables method body … CP-IE (4), Nov. 25, 2008

8

4. Basic of OOP

Method

• Specify the behavior of an object. • A unit of codes that do something you need. • main is an special method, and you can also define your own methods. • Can be referred from anywhere (or almost).

9

CP-IE (4), Nov. 25, 2008

9

4. Basic of OOP

Method

Definition of a Method

public, …

methodDeclaration local variables method body }

{

Declaration of a Method accessLevel modifier returnType methodName (type name [type name[…] ] ) { double, …… int, static, void, } … … 10

CP-IE (4), Nov. 25, 2008

10

4. Basic of OOP

Method

eg. 1 int summation(int a, int b ) { return(a+b); }

eg. 2 public static void main (String arg[ ] ) { System.out.println(“My first java!"); } 11

CP-IE (4), Nov. 25, 2008

11

4. Basic of OOP

Class

Structure of a Class ClassDeclaration member variables Constructor method1Declaration local variables method body method2Declaration local variables method body … 12

CP-IE (4), Nov. 25, 2008

12

4. Basic of OOP

Class

Declaration of a Class [public] [abstract/final] class ClassName[…] { …… }

13

CP-IE (4), Nov. 25, 2008

13

Bird.java

Practice 5-1 Creating a class

14

/* Prac5-1, bird class, 2008. 11. 25. */ class Bird { String color ; int weight; boolean hungry ; public void figure( ) { System.out.println("color :"+color); System.out.println ("weight :"+weight); } public void meal ( ) { if (hungry) { System.out.println("looking for seeds to eat"); } else { System.out.println ("finding toys to play"); } } } CP-IE (4), Nov. 25, 2008

14

Practice 5-1 Creating a class To complie the “Bird.java” → “Bird.class”, and run, → To see what happens?

tying@as301> java Bird Exception in thread "main" java.lang.NoSuchMethodError: main

15

CP-IE (4), Nov. 25, 2008

15

4. Basic of OOP

Object

The Life Cycle of an Object Creating

16

Using

Cleaning Up

CP-IE (4), Nov. 25, 2008

A typical Java program creates many objects, which interact with one another by sending each other messages. Through these object interactions, a Java program can implement a GUI, run an animation, or send and receive information over a network. Once an object has completed the work for which it was created, it is garbage-collected and its resources are recycled for use by other objects. This section uses this example to describe the life cycle of an object within a program. From this, you can learn how to write code that creates and uses an object and how the system cleans it up.

16

4. Basic of OOP

Object

Creating Objects from a class •Declaration: define an object variable className objectName; •Instantiation: Creating a new object objectName = new className ( ); OR className objectName = new className ( ); eg. Bird BirdA= new Bird(); 17

CP-IE (4), Nov. 25, 2008

17

4. Basic of OOP

Object

Creating Objects from a class •Initialization: - objectName.variableName; - objectName.methodName( ); objectName.methodName(arg); - constructor eg. Bird BirdA= new Bird(); BirdA.color = “gray”; BirdA.weight = 89; BirdA.meal(); BirdA.figure(); CP-IE (4), Nov. 25, 2008

18

Each statement has three parts: 1.Declaration: The code set in red in the previous listing are all variable declarations that associate a name with a type. When you create an object, you do not have to declare a variable to refer to it. However, a variable declaration often appears on the same line as the code to create an object. 2.Instantiation: new is a Java operator that creates the new object (allocates space for it). 3.Initialization: The new operator is followed by a call to a constructor. For example, Point(23, 94) is a call to Point's only constructor. The constructor initializes the new object. The next three subsections discuss each of these actions in detail:

18

4. Basic of OOP

Object

Using Objects • Referencing an Object’s Variables objectName.variableName • Calling an Object’s Method objectName.methodName( ); objectName.methodName(argumentList );

19

CP-IE (4), Nov. 25, 2008

19

4. Basic of OOP

Object

Cleaning Up Unused Objects • The garbage Collector • Finalization

20

CP-IE (4), Nov. 25, 2008

Some object-oriented languages require that you keep track of all the objects you create and that you explicitly destroy them when they are no longer needed. Managing memory explicitly is tedious and error prone. The Java platform allows you to create as many objects as you want (limited, of course, by what your system can handle), and you don't have to worry about destroying them. The Java runtime environment deletes objects when it determines that they are no longer being used. This process is called garbage collection. (An object is eligible for garbage collection when there are no more references to that object. References that are held in a variable are usually dropped when the variable goes out of scope. Or, you can explicitly drop an object reference by setting the variable to the special value null. Remember that a program can have multiple references to the same object; all references to an object must be dropped before the object is eligible for garbage collection. ) The Java runtime environment has a garbage collector that periodically frees the memory used by objects that are no longer referenced. The garbage collector does its job automatically. in rare case, you might want to run the finalize to release resource soon after a section of code that creates a large amount of garbage or before a section of code that needs a lot of memory. (finalize: before being collected, object has chance to clean itself by finalize)

20

pract52.java

Practice 5-2 Creating objects

21

/* Prac5-2, object/instance, 2008. 11. 25. */ public class Pract52 { public static void main (String [ ] args ) { Bird A = new Bird( ); Bird B = new Bird( ); A.color="gray" ; A.weight=10; A.hungry=true; B.color ="white"; B.weight=24; B.hungry=false; System.out.println("This is A bird"); A.figure( ); A.meal(); System.out.println("This is B bird"); B.figure( ); B.meal(); } } CP-IE (4), Nov. 25, 2008

21

Practice 5-2 (continue) • Keep “Pract52.java” in a new directory: To compile the “pract52.java → To see what happens? tying@as301> javac pract52.java Birdsample.java:3: cannot resolve symbol symbol : class Bird location: class Birdsample Bird A; ….

• To confirm “Pract52.java” and Bird.class are in same directory, then run … →? 22

CP-IE (4), Nov. 25, 2008

22

Practice 5-3 Combining 2 classes To write 2 classes into one program Pract5.java Compile, … Run, … This is A bird color :gray weight :89 looking for seeds to eat This is B bird color :yellow weight :61 finding toys to play 23

CP-IE (4), Nov. 25, 2008

simply put 2 programs into one file.

23

Related Documents