Lớp và đối tượng

Một phần của tài liệu KỸ THUẬT LẬP TRÌNH CĂN BẢN (Trang 91 - 101)

- Có hai kiểu mảng trong java: Mảng một chiều, Mảng đa chiều

Chương 6: Hàm và lớp

6.2 Lớp và đối tượng

Vd1: tạo ra một lớp Student có hai thành viên dữ liệu id và name. tạo ra các đối tượng của lớp Student bởi từ khóa new và in giá trị của các đối tượng.

public class Student {

int id; // thành viên dữ liệu

String name; // thành viên dữ liệu

public static void main(String args[]) {

Student student1 = new Student(); // tạo một đối tượng student1 System.out.println(student1.id);

System.out.println(student1.name); }

}

92 2 9 2 Chương 6: Hàm và lớp 6.2 Lớp và đối tượng Vd2:

public class Student2 {

int id;

String name;

void insertRecord(int id, String name) { this.id = id; this.name = name; } void displayInformation() { System.out.println(id + " " + name); }

public static void main(String args[]) {

Student2 s1 = new Student2(); Student2 s2 = new Student2(); s1.insertRecord(111, “hello"); s2.insertRecord(222, “lop"); s1.displayInformation(); s2.displayInformation(); } } // phương thức insertRecord // phương thức displayInformation

Chương 6: Hàm và lớp

6.2 Lớp và đối tượng

Kết quả: hello lop Vd3:

public class Student3 {

int id;

String name;

public Student3(int id, String name) {

this.id = id; // constructor

this.name = name; } void displayInformation() { System.out.println(id + " " + name); }

public static void main(String args[]) {

Student3 s1 = new Student3(111, “hello"); Student3 s2 = new Student3(222, “lop"); s1.displayInformation();

s2.displayInformation(); }

94 4 9 4 Chương 6: Hàm và lớp 6.2 Lớp và đối tượng Kết quả:

Giai thừa của 5 là: 120

Vd4: Tính Giai thừa của 5 sử dụng phương thức Calculation() của đối tượng Annonymous

public class Calculation {

void fact(int n) {

int giaithua = 1;

for (int i = 1; i <= n; i++) {

giaithua = giaithua * i; }

System.out.println("Giai thừa của " + n + " là: " + giaithua); }

public static void main(String args[]) {

// gọi phương thức của đối tượng annonymous new Calculation().fact(5);

}} }

Chương 6: Hàm và lớp

6.3 Thừa kế

Khái niệm

- Kế thừa trong java là sự liên quan giữa hai class với nhau, trong đó có class cha (superclass) và class con (subclass). Khi kế thừa class con được hưởng tất cả các phương thức và thuộc tính của class cha. - Tuy nhiên, nó chỉ được truy cập các thành viên public và protected

của class cha. Nó không được phép truy cập đến thành viên private của class cha.

- Tư tưởng của kế thừa trong java là có thể tạo ra một class mới được xây dựng trên các lớp đang tồn tại. Khi kế thừa từ một lớp đang tồn tại bạn có sử dụng lại các phương thức và thuộc tính của lớp cha, đồng thời có thể khai báo thêm các phương thức và thuộc tính khác.

96 6 9 6 Chương 6: Hàm và lớp 6.3 Thừa kế

- Các kiểu kế thừa: có 3 kiểu kế thừa trong java đó là đơn kế thừa, kế thừa nhiều cấp, kế thừa thứ bậc.

Chương 6: Hàm và lớp

6.3 Thừa kế

Cú pháp: Sử dụng từ khóa extends để kế thừa.

class Subclass-name extends Superclass-name {

//methods and fields }

98 8 9 8 Chương 6: Hàm và lớp 6.3 Thừa kế Ví dụ 1: đơn kế thừa class Employee { float salary = 1000; }

class Programmer extends Employee {

int bonus = 150; }

public class InheritanceSample1 {

public static void main(String args[]) {

Programmer p = new Programmer();

System.out.println(“Lương là: " + p.salary);

System.out.println(“Phần thưởng là: " + p.bonus); }

}

Kết quả:

Lương là: 1000.0 Phần thưởng là: 150

Trong ví dụ class Programmer là con của class Employee, nên nó được phép truy cập đến trường salary của class cha.

Chương 6: Hàm và lớp 6.3 Thừa kế Kết quả: weeping... barking... eating... Ví dụ 2: kế thừa nhiều cấp class Animal { void eat() { System.out.println("eating..."); } }

class Dog extends Animal { void bark() { System.out.println("barking..."); } }

class BabyDog extends Dog {

void weep() {

System.out.println("weeping..."); }

public class TestInheritance2 {

public static void main(String args[]) {

BabyDog d = new BabyDog(); d.weep();

d.bark(); d.eat(); }

10 0 0 1 0 0 Chương 6: Hàm và lớp 6.3 Thừa kế Kết quả: meowing... eating... Ví dụ 3: kế thừa thứ bậc class Animal { void eat() { System.out.println("eating..."); } }

class Dog extends Animal { void bark() { System.out.println("barking..."); } }

class Cat extends Animal { void meow() { System.out.println("meowing..."); } }

public class TestInheritance3 {

public static void main(String args[]) {

Cat c = new Cat(); c.meow();

c.eat();

// c.bark(); // compile error }

11 1 Chúc các em học tập tốt!

Một phần của tài liệu KỸ THUẬT LẬP TRÌNH CĂN BẢN (Trang 91 - 101)

Tải bản đầy đủ (PPT)

(101 trang)