Presentation is loading. Please wait.

Presentation is loading. Please wait.

Instance Method Review - CIS 1068 Program Design and Abstraction

Similar presentations


Presentation on theme: "Instance Method Review - CIS 1068 Program Design and Abstraction"— Presentation transcript:

1 Instance Method Review - CIS 1068 Program Design and Abstraction
Zhen Jiang CIS Dept. Temple University 1050 Wachman Hall, Main Campus 11/12/2018

2 Table of Contents Introduction Declaration and call Access and scope
11/12/2018

3 Introduction Why? Why loop Why array Why method
Why object (the host of instance method)? 11/12/2018

4 Every thing under the control inside of object (which must be declared in the class, as a general template to cover all possible changes/statuses) 11/12/2018

5 state: String name, breed int age
Dog class state: String name, breed int age behavior: writeOutput ( ) getAgeInHumanYears ( )‏ Dog object balto state: “Balto” (name) 8 (age) “Siberian Husky” (breed) behavior: getAgeInHumanYears ( ) writeOutput ( ) Dog object scooby state: “Balto” (name) 8 (age) “Siberian Husky” (breed) behavior: getAgeInHumanYears ( ) writeOutput ( )

6 Declaration and Call No more static How to use instance method m()?
public class A { public void m() { } 11/12/2018

7 public class A { public void m() { } public void m2() { m(); public class B { public void m() { … } public void m3() { m() A a; //a.m is not supported A b = new A (); b.m(); 11/12/2018

8 public class A { public void m() { } public static void m2() { A a = new A(); a.m(); 11/12/2018

9 For comparison public class A { public static void m() { … }
public void m2() { m(); public class B { public void m() { … } public void m3() { m() A.m(); 11/12/2018

10 For comparison public class A { public void m1(){ System.out.println("A's m1"); m2(); } public static void m2(){ System.out.println("A's static m2"); } } public class B { public void m1(){ A a = new A(); a.m1(); A.m2(); } public static void m2(){ System.out.println("B's static m2"); B b2 = new B(); b2.m1(); } public static void main(String args[]){ A a = new A(); B b = new B(); b.m1(); B.m2(); } } A's m1 A's static m2 B's static m2 11/12/2018

11 Constructor Name No return Not static Related to the use of new
Overloading 11/12/2018

12 Mutator Accessor toString Argument and parameter
Type (compatible & overloading) Primitive type and reference type (array & object) Accessor Return toString 11/12/2018

13 Constructor public class A { public A() { … } public A(int x) {
public class B { public void m3() { A a = new A(); A b = new A(2); } 11/12/2018

14 Mutator and accessor public class A { public A() { … }
public void a() { public void A() { public class B { public void m3() { A a = new A(); a.a(); a.A(); // but very confused! } 11/12/2018

15 Note: Every class has a toString method.
When an object is printed or concatenated with a String, Java calls the object's toString method. System.out.println("p1 is " + p1); is equivalent to: System.out.println("p1 is " + p1.toString()); Note: Every class has a toString method. 11/12/2018

16 toString public class A { private int x = 2; public A() { … }
public String toString () { // no parameter! return “a” + x; public class B { public void m3() { A a = new A(); System.out.println(a); } 11/12/2018

17 Access and Scope Attribute (property, data field, etc) Parameter
What is “this” Parameter 11/12/2018

18 Attribute what is this public class A { private int x;
public A(int y) { x = y; } public void m(int x) { // int x; this.x = x; public String toString(){ return x+””; public class B { public void m3() { A a = new A(2); a.m(3); System.out.println(a); } 11/12/2018

19 Parameter public class A { public int x; public A(int y) { x = y; }
public void n() { // another method // other than m public void m(A a) { // x and a.x // n(); and a.n(); public class B { public void m3() { A a = new A(2); A b = new A(3); a.m(b); } 11/12/2018

20 Parameter public class A { private int x; public A(int y) { x = y; }
public void n() { // another method // other than m public int getX(){ return x; public void m(A a) { // x and a.getx() // n(); and a.n(); public class B { public void m3() { A a = new A(2); A b = new A(3); a.m(b); } 11/12/2018

21 ArrayOperation. java vs. ArrayOperations. java http://www. cis. temple
11/12/2018


Download ppt "Instance Method Review - CIS 1068 Program Design and Abstraction"

Similar presentations


Ads by Google