Collage of Information Technology University of Palestine Advanced programming Object-Oriented...

28
Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming : Inheritance 1

Transcript of Collage of Information Technology University of Palestine Advanced programming Object-Oriented...

Page 1: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

1

Collage of Information Technology University of Palestine

Advanced programming

Object-Oriented Programming:Inheritance

Page 2: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

2

■How inheritance promotes software reusability.

■The notions of superclasses and subclasses.

■To use keyword extends to create a class that inheritsattributes and behaviors from another class.

■To use access modifier protected to give subclassmethods access to superclass members.

■To access superclass members with super.

■How constructors are used in inheritance hierarchies.

■The methods of class Object, the direct or indirectsuperclass of all classes in Java.

Page 3: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

3

Object Oriented ProgrammingClass Declaration

Page 4: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

4

Object Oriented ProgrammingObject Creation

New, Constructors.(public, private, protected,

default)

Object Creation

Page 5: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

5

Object Oriented Programming

Page 6: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

6

Object Oriented Programming //Account.java

1 .import java.util.Date;2 .import javax.swing.JOptionPane;

3 .class Account{4 .private int account_no;

5 .private String customer_name;6 .private double balance;

7 .Date last_Transaction_Date;8 .Account(int no ,String name ){

9 .account_no=no;10 .customer_name=name;

}

Page 7: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

7

Object Oriented Programming 12 .Account(int no ,String name ,double amt ){

13 .account_no=no;14 .customer_name=name;

15 .balance=amt;16} .

17 .void deposit (double amt){ 18 .if (amt>0 ){

19 .balance += amt;20 .last_Transaction_Date= new Date;)(

21} .22 .else

23 .JOptionPane.showMessageDialog(null,"the deposit amount must be > 0");

24} .

Page 8: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

8

Object Oriented Programming 25 .void withdraw(double amt){

26 .if (amt<=balance ){27 .balance-=amt;

28 .last_Transaction_Date= new Date;)(

29} .30 .else

31 .JOptionPane.showMessageDialog(null,"the

withdraw amount must be <= balance;)"

32} .33 .public double getBalance{)(

34 .return balance;35} .

Page 9: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

9

Object Oriented Programming

33 .public double getBalance{)(34 .return balance;

35} .

36 .public String getCustomer{)(37 .return customer_name;

38} .39} .

Page 10: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

10

Object Oriented Programming//client_account.java

public class client_account

{

public static void main(String args[]) {

Account acc1 = new Account(12, "Ali");

Account acc2 = new Account(12, “Fahad", 7350.3);

acc1.deposit(2341.5);

acc2.withdraw(200);

System.out.println("\n Name: "+acc1.getCustomer());

System.out.println("\tHis Balance= " + acc1.getBalance());

System.out.println("\tThe date of

the last transaction is: "

+acc1.last_Transaction_Date;)

System.out.println(" Name: "+acc2.getCustomer());

Page 11: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

11

Object Oriented Programming

System.out.println("\tHis Balance= " + acc2.getBalance());

System.out.println("\tThe date

of the last transaction is: " + acc2.last_Transaction_Date;)

System.out.println;)( } }

Page 12: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

12

Object Oriented Programming

Page 13: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

13

Object Oriented Programming

Page 14: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

14

Object Oriented Programming //client_account.java

package java2.classes.ch3;

class A{...}

class B{..}

public class client_account{ public static void main(String args[]) {

.

.} }

Page 15: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

15

Object Oriented Programming

Page 16: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

16

Object Oriented Programming

Inheritance

Super ClassSubClass

Extends “private”

Page 17: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

17

Object Oriented Programming //y.java

Class x {. . . .

// } end of class x public class y extends x{

. . . }

Page 18: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

18

Object Oriented Programming

//Cars.java1 .class Transportation{

2 .protected static int x=12;3 .private int y=19;

4 .public static void meth1{)(5 .System.out.println("Calling meth1() from

class Cars.");6} .

7 .private void meth2{)(8 .System.out.println("will not be called from

Cars");9} .

10 // } .end of class Transportation

Page 19: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

19

Object Oriented Programming

11 .public class Cars extends Transportation{

12 .public static void main(String args[]){

13 .meth1;)(14 .System.out.println(x);

15 // .meth2(); // meth2() has private access in

// Transportation 16 // .System.out.println(y); // y has

private access // on Transportation

17} .18 // } .end of class Cars

Page 20: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

20

Object Oriented Programming

Page 21: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

21

Object Oriented Programming //C.java

1 .class A{2 .protected int a=9;

3 // } .end of class A4 .class B extends A{

5 .void test{)(6 .int a=22;

7 .System.out.println("a = "+a);8} .

9 // } .end of class B10 .public class C{

11 .public static void main(String args[]){12 .B acc = new B;)(

13 .acc.test;)(14} .

15 // } .end of class C

Page 22: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

22

Object Oriented Programming //C.java

1 .class A{2 .protected int a=9;

3 // } .end of class A4 .class B extends A{

5 .void test{)(6 .int a=22;

7 .System.out.println("a = "+this.a);8} .

9 // } .end of class B10 .public class C{

11 .public static void main(String args[]){12 .B acc=new B;)(

13 .acc.test;)(14} .

15 // } .end of class C

Page 23: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

23

Object Oriented ProgrammingC.java

1 .class A{2 .void test1{)(

3 .System.out.println)"The test1)( method was invoked FROM classA"(;4} .

5 // } .end of class A6 .class B extends A{

7 .void test{)(8 .super.test1;)(

9 .test1;)(10} .

11 .void test1{)(12 .System.out.println)"The test1)( method was invoked FROM class B"(;

13} .14 // } .end of class B

15 .public class C{16 .public static void main)String args[]({

17 .B acc=new B;)(18 .acc.test;)(

19} .20 // } .end of class C

Page 24: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

24

Object Oriented Programming

Page 25: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

25

Object Oriented Programming Methods

Overriding // Test.java1. class Car }2. private int year;3. private float originalPrice;4. // calculate the sale price of a car based on its // cost5. public double CalculateSalePrice)( }6. double salePrice;7. if )year > 1994(8. salePrice = originalPrice * 0.75;9. else if )year > 1990(10. salePrice = originalPrice * 0.50;11. else12. salePrice = originalPrice * 0.25;13. return salePrice;14. {

15 // .a public constructor16 .public Car)int year, float originalPrice({

17 .this.year = year;18 .this.originalPrice = originalPrice;

19} .20} .

Page 26: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

26

Object Oriented Programming21. class ClassicCar extends Car {22. // calculate the sale price of a car based on its // cost23. public double CalculateSalePrice() {24. return 10000;25. }26. // a public constructor27. public ClassicCar(int year, float originalPrice) {28. super(year, originalPrice);29. }30. }31. public class Test{32. public static void main(String args[]){33. ClassicCar myClassic = new ClassicCar(1920, 1400);34. double classicPrice =myClassic.CalculateSalePrice();35. System.out.println(classicPrice);36. Car myCar = new Car(1990, 12000);37. double price = myCar.CalculateSalePrice();38. System.out.println(price);39. }40. }

Methods Overriding

Page 27: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

27

Object Oriented Programming

Inheritance Hierarchies

Page 28: Collage of Information Technology University of Palestine Advanced programming Object-Oriented Programming: Inheritance 1.

28

Object Oriented Programming

THE END .…