Mục lục chương I: ĐỐi tưỢng và LỚP



tải về 1.36 Mb.
trang26/28
Chuyển đổi dữ liệu21.12.2018
Kích1.36 Mb.
1   ...   20   21   22   23   24   25   26   27   28

BÀI TẬP TỰ GIẢI:


Bài 1

Xây dựng lớp Stack với các thao tác cần thiết. Từ đó hãy dẫn xuất từ lớp Stack để đổi một số nguyên dương n sang hệ đếm 16.

Hướng dẫn

Bài toán gồm có 2 đối tượng: Stack và Đổi số

Các thuộc tính và phương thức của lớp Stack

class Stack //Lớp cơ sở

{

private int top;



int [] s;

public stack()

public Stack(int n)

public bool full() // Kiểm tra Stack đầy

public bool empty() // Kiểm tra Stack trống

public void push(int x)

public void pop()

}
class Doiso //Lớp dẫn xuất

{

private int a,n; //a là hệ cần đổi, n là số cần đổi



public void nhap()

public void doi()

public void hien()

}

Lưu ý: Bài toán này yêu cầu chỉ cho phép nhập hệ cần đổi là 16. Còn lại các giá trị khác không cho phép nhập. Vậy bạn phải khống chế các giá trị của hệ số a sao cho thoả mãn đề bài.



Bài 2 :

Xây dựng lớp hình tròn với các phương thức cần thiết.Sau đó kế thừa để tính thể tích hình cầu.

Hướng dẫn

Bài toán gồm hai đối tượng class hinhtron, class hinhcau

class hinhtron

{

private float r;



public hinhtron()

public hinhtron(float x)

public void nhap()

public void hien()

public float dientich()

}

class hinhcau



{

public float thetich()

}

Lưu ý: Công thức tính thể tích hình cầu V=(4**r3)/3

Bài 3:

Viết chương trình quản lí nhân sự và tính lương cho nhân viên trong công ty.

1.Quản lí thông tin nhân viên (Họ tên, ngày sinh, địa chỉ)

2. Tính lương cho nhân viên. Biết trong công ty có ba loại nhân viên và cách tính lương như sau:

Nhân viên sản xuất: số sản phẩm*20 000 đ

Nhân viên công nhật: số ngày công*50 000 đ

Nhân viên quản lí : hệ số lương * lương cơ bản.

Hướng dẫn

Bài toán được chia thành 5 đối tượng: Class nhanvien, Class NVSX, Class NVCN, Class NVQL, Class DSNV.

Các thuộc tính và phương thức của Class Nhanvien

+ Họ tên, địa chỉ, ngày sinh

+ Nhap(), xuat(), tinhluong()

Các thuộc tinh và phương thức của Class NVSX

+ Kế thừa thuộc tính của Class nhanvien

+ sosanpham

+ Phương thức Nhap(), xuat(), tinhluong().

Các thuộc tính và phương thức của Class NVCN

+Kế thừa thuộc tính của Class nhanvien

+ songaycong

+ Phương thức Nhap(), xuat(), tinhluong()

Các thuộc tính và phương thức của Class NVQL

+Kế thừa thuộc tính của Class nhanvien

+ hesoluong, luongcoban

+ Phương thức Nhap(), xuat(), tinhluong()

Các thuộc tính và phương thức của Class DSNV

+ soluongnv, Nhan vien*[] ds

+ Phương thức: Nhap ds(), xuat ds(), xuatluong()

Lưu ý: Bài toán này các lớp đều có phương thức tính lương, xong mỗi lớp có cách tính lương là khác nhau. Do vậy ta nên xây dựng phương thức tính lương ở lớp cơ sở (Class nhanvien) là phương thức ảo, sau đó ở các lớp dẫn xuất ta kế thừa lại bằng cách ghi đè phương thức đó..

Bài 4:

Xây dựng lớp “MaTranVuong” bằng cách kế thừa từ lớp “MaTran” được xây dựng và bổ xung thêm các phương thức sau:

- “getDeterminant” để trả về định thức của ma trận.

- “duongCheoChinh” để tính tổng các phần tử trên đường chéo chính

- “duongCheoPhu” để tính tổng các phần tử trên đường chéo phụ

- “duongCheoChinhK” để tính tổng các phần tử trên đường chéo chính thứ k

- “duongCheoPhuK” để tính tổng các phần tử trên đường chéo phụ thứ k

Bài 5:

a) Xây dựng lớp trừu tượng “Hinh” như sau:



abstract class Hinh

{

abstract public float getArea();

}

b) Xây dựng lớp “HinhVuong”, “HinhTron”, “HinhTamGiac”, “HinhBinhHanh”, “HinhThoi”… bằng cách kế từ lớp Hinh và ghi đè phương thức getArea để tính diện tích của các hình tương ứng.

Hướng dẫn

Bài toán gồm có 6 đối tượng: class Hinh, class HinhVuong, class HinhTron, class HinhBinhHanh, class Hinhthoi

Các thuộc tính và phương thức của các lớp:

abstract public class Hinh

{

abstract public float getArea();



}

class Hinhvuong:Hinh

{

float canh;



public Hinhvuong()

public Hinhvuong(foat a)

public override float getArea()

public void nhap()

public void hien()

}

class Hinhtron:Hinh



{

private float r;

public Hinhtron()

public Hinhtron(float r)

public override float getArea ()

}

class Hinhtamgiac:Hinh



{

private float cao,day

public Hinhtamgiac()

public Hinhtamgiac(float cao, float day)

public override float getArea()

}

class Hinhbinhhanh:Hinh



{

private float a,b // a,b là 2 đường chéo của hình bình hành



public Hinhbinhhanh()

public Hinhbinhhanh(float a, float b)

public override float getArea()

}

class HinhThoi:Hinh



{

private float a,b // a,b là 2 đường chéo của hình thoi



public HinhThoi()

public HinhThoi(float a, float b)

public override float getArea()

}

Lưu ý: Các công thức tính diện tích của các hình

Tamgiac=1/2(day*cao)

Hinhbinhhanh=a*b // a,b là 2 đường chéo

Hinhthoi=1/2(a*b)

Bài 6:

Xây dựng các lớp sau:

+ Lớp NGƯỜI gồm:

- Các thuộc tính

Char hoten;

int ns;


- Các phương thức

Hai hàm khởi tạo,Phương thức in()

+ Lớp MÔNHỌC gồm:

- Các thuộc tính:

Char mon; // Tên môn học.

int st; // số tiết

- Các phương thức

Hai hàm khởi tạo,Phương thức in()

+Lớp GIÁOVIÊN

- Các thuộc tính

Kế thừa từ lớp người

Thêm một số thuộc tính

Char bomon ; // Bộ môn công tác

MÔNHỌC mh; // Môn học đang dạy

- Các phương thức

Hai hàm khởi tạo ,phương thức int()

Để đưa ra thông tin về giáo viên (họ tên, năm sinh, bộ môn, môn dậy,số tiết của môn học đang dậy đó).

Gợi ý: Trong lớp GIÁOVIÊN có thể gọi 2 phương thức in()

+ GIÁOVIÊN.in() // Được xây dựng trong lớp GIÁOVIÊN

+ NGƯỜI.in() // Thừa kế từ lớp người.



Bài 7.

Viết ứng dụng đơn giản phục vụ cho học sinh phổ thông kiểm tra kiến thức về hình học (trong không gian R2), sau đây là yêu cầu về ứng dụng:



  • Cho phép tính khoảng cách giữa hai điểm

  • Cho phép tính độ dài của một đoạn thẳng

  • Cho phép kiểm tra sự giao nhau của hai đoạn thẳng

  • Cho phép kiểm tra vị trí tương đối của hai đường tròn

  • Cho phép kiểm tra một điểm nằm trên, trong hay bên ngoài đường tròn.

  • Cho phép tính diện tích, chu vi của hình tròn.

  • Cho phép tính diện tích, chu vi của tam giác.

  • Cho phép kiểm tra một điểm nằm trên, trong hay ngoài tam giác.

  • Tính diện tích, chu vi, kiểm tra sự giao nhau của hình chữ nhật.

  • Tính diện tích, chu vi, kiểm tra sự giao nhau của hình vuông.

Bài 8

Viết chương trình tính giá điện của một căn hộ :

Phương thức thiết lập 2 tham số dung khởi tạo giá điện(=750 vnd) và số điện đã dùng.

Phương thức nhập cho từng lớp

Phương thức hiện cho từng lớp

Sau đó kế thừa lớp cơ sở để tính tiền điện mới cho hợp với việc nếu số điện dùng quá 100 số điện thì giá điện kể từ số 100 trở đi là 1000 vnd. Còn nếu số điện sử dụng lớn hơn 50 và nhỏ hơn 100 thì giá điện là 800, Số diện sử dụng nhỏ hơn 50 thì giá điện là 750.



CHƯƠNG IV

GIAO DIỆN

Mục đích: Sau khi nghiên cứu chương này người học nắm được các nội dung sau:

 Hiểu thế nào là một giao diện.

 Cách thức xây dựng và truy cập một giao diện

 Sự thực thi nhiều giao diện của một lớp

 Sự khác nhau giữa giao diện và lớp trừu tượng




  1. Поделитесь с Вашими друзьями:
1   ...   20   21   22   23   24   25   26   27   28


Cơ sở dữ liệu được bảo vệ bởi bản quyền ©tieuluan.info 2019
được sử dụng cho việc quản lý

    Quê hương