Đề cương ôn tập lập trình hướng đối tượng

13 2.8K 69
Đề cương ôn tập lập trình  hướng đối tượng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Câu 1) Cho biết kế thừa là gì? Khi nào nên dùng kế thừa, khi nào không nhất thiết dùng kế thừa, cho ví dụ thể hiện 2 trường hợp trên. Câu 2) Cho biết lớp ảo là gì? Khi nào nên dùng lớp ảo, khi nào không nhất thiết dùng lớp ảo, cho ví dụ thể hiện 2 trường hợp trên. Câu 3) Cho biết tính đóng gói trong hướng đối tượng là gì? Cho ví dụ. Câu 4) Phân biệt Class và object, cho ví dụ thực tế. Câu 5) Bộ khởi tạo (phương thức thiết lập) là gì, vai trò của bộ khởi tạo, cho ví dụ Câu 6) Bộ phá huỷ (phương thức huỷ bỏ) là gì, vai trò của bộ phá huỷ, cho ví dụ Câu 7) Tính đa hình là gì, cho một ví dụ cụ thể viết bằng mã. Câu 8) Phân biệt giữa overload và override, cho ví dụ mô tả. Câu 9) Hàm bạn được sử dụng trong trường hợp nào? Giữa hàm bạn và lớp bạn khác nhau ở điểm nào? Cho ví dụ minh hoạ CÂU 10) Trong ngôn ngữ C++, liệt kê tất cả các trường hợp mà hàm thiết lập sao chép (copy constructor) được tự động thực hiện? Khi nào bắt buộc phải cài đặt tường minh hàm thiết lập sao chép?

ĐỀ CƯƠNG ÔN TẬP MÔN LTHĐT I/ Phần lý thuyết Câu 1) Cho biết kế thừa gì? Khi nên dùng kế thừa, không thiết dùng kế thừa, cho ví dụ thể trường hợp Câu 2) Cho biết lớp ảo gì? Khi nên dùng lớp ảo, không thiết dùng lớp ảo, cho ví dụ thể trường hợp Câu 3) Cho biết tính đóng gói hướng đối tượng gì? Cho ví dụ Câu 4) Phân biệt Class object, cho ví dụ thực tế Câu 5) Bộ khởi tạo (phương thức thiết lập) gì, vai trị khởi tạo, cho ví dụ Câu 6) Bộ phá huỷ (phương thức huỷ bỏ) gì, vai trị phá huỷ, cho ví dụ Câu 7) Tính đa hình gì, cho ví dụ cụ thể viết mã Câu 8) Phân biệt overload override, cho ví dụ mơ tả Câu 9) Hàm bạn sử dụng trường hợp nào? Giữa hàm bạn lớp bạn khác điểm nào? Cho ví dụ minh hoạ CÂU 10) Trong ngơn ngữ C++, liệt kê tất trường hợp mà hàm thiết lập chép (copy constructor) tự động thực hiện? Khi bắt buộc phải cài đặt tường minh hàm thiết lập chép? CÂU 11) Hãy nêu khác Overload Override CÂU 12) Cho biết hàm khởi tạo (constructor) gì? tác dụng nó? Thế contructor chuẩn? có loại constructor chuẩn? Các đối tượng lớp thừa kế đơn thiết lập hủy bỏ theo thứ tự ? CÂU 13) Hàm ảo gì? thừa kế ảo gì? Khi nên sử dụng hàm ảo? Thế hàm ảo túy? CÂU 14) Thế tính đóng gói? Lợi ích tính đóng gói lập trình hướng đối tượng? CÂU 15) Thế đa hóa tốn tử? Trong lập trình hướng đối tượng sử dụng C++, tốn tử khơng thể đa hóa? Viết cú pháp khai báo đa hóa tốn tử II/ Phần tập Câu 1) Một cửa hàng cần quản lý hoạt động bán hàng theo quy định sau: + Một mặt hàng thuộc loại hàng sau - Hàng thực phầm: Mã số, Tên, đơn vị tính, số lượng, đơn giá, ngày sản xuất, ngày hết hạn - Hàng gia dụng: Mã số, tên, đơn vị tính, số lượng, đơn giá, bảo hành - Hàng quần áo giày dép: Mã số, tên, đơn vị tính, số lượng, đơn giá, kích cỡ, màu sắc + Một hóa đơn chứa thơng tin: Mã hóa đơn, Ngày lập, tên khách hàng, địa chỉ, thuế VAT danh mục mặt hàng mua ( tối đa 10 mặt hàng) Yêu cầu: + Thiết kế lớp đối tượng cho toán trên, với đối tượng ra: - thuộc tính - phương thức ( nêu tên phương thức mục đích, khơng cài đặt) + Vẽ mơ hình lớp đối tượng quan hệ chúng (nếu có) + Dùng ngơn ngữ C++, cài đặt lớp, lưu ý sinh viên cài đặt thuộc tính prototype cho phương thức, không cài đặt phương thức + Hãy cài đặt phương thức tính trị giá cho hóa đơn Câu 2) Công ty XYZ quản lý việc mua hàng loại khách hàng: - Loại A: Khách hàng bình thường (gồm x khách hàng): Số tiền khách hàng trả = Số lượng hàng * đơn giá hàng + Thuế VAT (10%) - Loại B: Khách hàng thân thiết (gồm y khách hàng): Phần trăm khuyến = MAX( Số năm thân thiết * 5%, 50%) Số tiền khách hàng trả = (Số lượng hàng * đơn giá hàng ) * (100% - Phần trăm khuyến mãi) + Thuế VAT (10%) - Loại C: Khách hàng đặc biệt (gồm z khách hàng): Số tiền khách hàng trả = (Số lượng hàng * đơn giá hàng) *50% + Thuế VAT (10%) Yêu cầu: + Thiết kế lớp đối tượng cho toán trên, với đối tượng ra: - thuộc tính - phương thức ( nêu tên phương thức mục đích, khơng cài đặt) + Vẽ mơ hình lớp đối tượng quan hệ chúng (nếu có) + Dùng ngơn ngữ C++, cài đặt lớp, lưu ý sinh viên cài đặt thuộc tính prototype cho phương thức, không cài đặt phương thức + Hãy cài đặt phương thức tính doanh thu cơng ty Câu 3) Hàng đợi danh sách hoạt động theo nguyên tắc “vào trước trước” (FIFO) Có thể cài đặt hàng đợi danh sách liên kết đơn với thao tác thêm phần tử vào hàng đợi, lấy phần tử từ hàng đợi xử lý thêm phần tử vào cuối danh sách, lấy phần tử đầu danh sách Ngăn xếp danh sách hoạt động theo nguyên tắc “vào sau trước” (LIFO) Có thể cài đặt ngăn xếp danh sách liên kết đơn với thao tác thêm phần tử vào đầu danh sách, lấy phần tử đầu danh sách Yêu cầu: + Thiết kế lớp đối tượng cho toán trên, với đối tượng ra: - thuộc tính - phương thức ( nêu tên phương thức mục đích, khơng cài đặt) + Vẽ mơ hình lớp đối tượng quan hệ chúng (nếu có) + Dùng ngơn ngữ C++, cài đặt lớp, lưu ý sinh viên cài đặt thuộc tính prototype cho phương thức, không cài đặt phương thức + Hãy cài đặt phương thức chép giá trị từ hàng đợi vào ngăn xếp Câu 4) Một công ty kinh doanh địa ốc cần xây dựng chương trình quản lý thơng tin khu đất hộ công ty cung ứng với thông tin cần quản lý sau: - Khu đất : Địa điểm, giá bán, diện tích - Căn hộ (có loại) : * Nhà sân vườn : Địa điểm, giá bán, diện tích xây dựng, diện tích sân vườn * Nhà phố : Địa điểm, giá bán, diện tích xây dựng, số tầng Yêu cầu: + Thiết kế lớp đối tượng cho toán trên, với đối tượng ra: - thuộc tính - phương thức ( nêu tên phương thức mục đích, khơng cài đặt) + Vẽ mơ hình lớp đối tượng quan hệ chúng (nếu có) + Dùng ngơn ngữ C++, cài đặt lớp, lưu ý sinh viên cài đặt thuộc tính prototype cho phương thức, không cài đặt phương thức + Hãy cài đặt phương thức hiển thị thông tin theo phân loại Ghi : * Chỉ dùng danh sách để quản lý đối tượng * Số lượng đối tượng cần quản lý không 50 Câu 5) Cho N hình, gồm loại hình: tam giác, chữ nhật, hình vng, hình trịn Các hình mơ tả với thơng số sau: - Hình tam giác: ký hiệu ‘G’ kèm theo tọa độ đỉnh - Hình chữ nhật: ký hiệu ‘C’ kèm theo tọa độ góc trái chiều dài (theo trục Ox) chiều rộng (theo trục Oy) - Hình vng: ký hiệu ‘V’ kèm theo tọa độ góc trái chiều dài cạnh - Hình trịn: ký hiệu ‘T’ kèm theo tọa độ tâm bán kính Mỗi tọa độ xác định hai số nguyên Yêu cầu: + Thiết kế lớp đối tượng cho toán trên, với đối tượng ra: - thuộc tính - phương thức ( nêu tên phương thức mục đích, khơng cài đặt) + Vẽ mơ hình lớp đối tượng quan hệ chúng (nếu có) + Dùng ngơn ngữ C++, cài đặt lớp, lưu ý sinh viên cài đặt thuộc tính prototype cho phương thức, khơng cài đặt phương thức + Hãy cài đặt phương thức tìm hình chữ nhật nhỏ bao quanh N hình cho xác định tọa độ góc trái chiều dài, chiều rộng hình chữ nhật Câu 6) Khách sạn SOFITEL có loại phịng với doanh thu phịng tháng tính sau: - Loại Deluxe: doanh thu phòng = (Số đêm * 750000 + Phí dịch vụ) * (100% + Phí phục vụ) - Loại Premium: doanh thu phòng = (Số đêm * 500000 + Phí dịch vụ) * 105% - Loại Business: doanh thu phòng = Số đêm * 300000 Yêu cầu: + Thiết kế lớp đối tượng cho toán trên, với đối tượng ra: - thuộc tính - phương thức ( nêu tên phương thức mục đích, khơng cài đặt) + Vẽ mơ hình lớp đối tượng quan hệ chúng (nếu có) + Dùng ngơn ngữ C++, cài đặt lớp, lưu ý sinh viên cài đặt thuộc tính prototype cho phương thức, khơng cài đặt phương thức + Hãy cài đặt phương thức để liệt kê phịng có doanh thu vượt trội Biết phịng có doanh thu vượt trội thỏa tính chất: Doanh thu tháng >= Doanh thu tháng trước * 125% Câu 7) Xây dựng lớp TapHopSoPhuc đặc tả khái niệm tập hợp số phức (số lượng phần tử không giới hạn trước) với phương thức: • Thiết lập, thiết lập chép, hủy • Thêm phần tử vào tập hợp • Loại phần tử khỏi tập hợp • Kiểm tra phần tử thuộc tập hợp • Kiểm tra tập tập hợp Và phép toán: • Phép gán • Phép toán giao, hội , hiệu hai tập hợp (sử dụng ký hiệu phép toán &, |, -) • Phép tốn xuất/nhập Ghi chú: • Xem có lớp SoPhuc đặc tả khái niệm số phức với đầy đủ phương thức phép tốn: so sánh (==), xuất/nhập,…… • Sinh viên không cần cài đặt lớp SoPhuc Câu 8) Cho lớp Person dùng quản lý thông tin người Dữ liệu thành viên Person gồm có: id(5 ký tự), name (tối đa 50 ký tự), yob(năm sinh), yod(năm mất) Lớp Person có số phương thức • Input(), Output(): Nhập, xuất liệu Person • Get Age(int year): trả tuổi người dựa vào năm hành (year) người cịn sống, tuổi lúc người yod khác Yêu cầu: Khai báo lớp Person cài đặt phương thức lớp Câu 9) Một địa phương cần quản lý nhân nên thiết kế lớp PersonList dùng để quản lý n (0, , < (so sánh thời gian) -Hàm để kiểm tra Time có hợp lệ hay không Viết hàm main nhập vào thời điểm bắt đầu thời điểm đến đích vận động viện Cho biết thời gian chạy vận động viên Nhập vào thời gian chạy kỷ lục So sánh thời gian chạy vận động viên thời gian chạy kỷ lục để biết vận động viên có phá kỷ lục hay khơng CÂU 14) Cài đặt lớp TamGiac biểu diễn khái niệm hình tam giác gồm số thực tượng trưng cho cạnh hành vi, phép tính sau: -Kiểm tra tam giác cho có hợp lệ hay không (tam giác hợp lệ tổng cạnh ln lớn cạnh thứ 3) -Phép tốn >>, , < để so sánh diện tích tam giác -Kiểm tra xem tam giác tam giác đều, tam giác cân, tam giác vuông tam giác vuông cân hay tam giác thường Hãy viết hàm main theo yêu cầu sau: Nhập vào tam giác Kiểm tra xem chúng có hợp lệ khơng Nếu hợp lệ, so sánh xem diện tích tam giác lớn Kiểm tra xem tam giác có diện tích lớn tam giác gì? CÂU 15) Cài đặt lớp hình trịn gồm tọa độ tâm mặt phẳng (hoành độ, tung độ) bán kính với hành vi sau: -Khởi tạo (có tham số khơng có tham số) -Phép toán >>, , < để so sánh diện tích đối tượng hình trịn -Phép tốn – để tính hiệu hình trịn, kết trả hình trịn với tọa độ tâm tọa độ trung điểm tọa độ tâm hình trịn bán kính hiệu bán kính hình trịn Viết hàm main theo u cầu sau: Nhập vào đối tượng hình trịn H1, H2 Tính in thơng tin đối tượng hình trịn H3 với H3 hiệu H1 H2 Mẫu giải tập phân tích CÂU 10) Một cơng ty kinh doanh địa ốc cần xây dựng chương trình quản lý thông tin khu đất hộ công ty cung ứng với thông tin cần quản lý sau: - Khu đất : Địa điểm, đơn giá km2 , diện tích - Căn hộ (có loại) : * Nhà sân vườn : Địa điểm, đơn giá km2, diện tích xây dựng, diện tích sân vườn * Nhà phố : Địa điểm, đơn giá km2, diện tích xây dựng, số tầng a) Hãy thiết kế mơ hình theo hướng hướng đối tượng để đáp ứng yêu cầu quản lý công ty b)Viết chương trình đáp ứng u cầu cơng ty Chương trình phải có chức năng: + Nhập thông tin khu đất, hộ + Xuất thơng tin khu đất, hộ +Tính giá bán khu đất hộ biết rằng: khu đất: giá bán=diện tích x đơn giá km2 nhà sân vườn, giá bán=diện tích xây dựng x đơn giá km2+ diện tích sân vườn x đơn giá km2 x 50% Đối với nhà phố: giá bán= diện tích xây dựng x đơn giá km2 x số tầng Giải Câu 10: YC Nội dung Thiết kế lớp đối tượng cho tốn: • Nêu thiếu đối tượng trừ 0.5 điểm • Thiếu phương thức trừ 0.25 điểm (nêu tên phương thức mục đích, khơng cài đặt) o Nhập liệu o Xuất liệu o Tính giá bán • Khơng nêu phương thức ảo trừ 0.25 điểm Các lớp đối tượng : • Khu đất: o Tên lớp : khudat o Thuộc tính : Địa điểm (chuỗi), đơn giá (số thực), diện tích (số thực) o Phương thức :  Thiết lập : khudat() ;  Huỷ bỏ: ~khudat() ;  Nhập liệu: virtual void nhap() ;// nhập thông tin khu đất  Xuất liệu: virtual void xuat() ; //in thông tin khu đất  Kiểm tra liệu : int kiemtradulieu() ;//kiểm tra liệu (đơn giá diện tích >0)  Tính giá bán : virtual double tinhgiaban() ; • Căn hộ: o Tên lớp : canho o Thừa kế : từ lớp khudat o Thuộc tính : diện tích xây dựng (số thực) o Phương thức :  Thiết lập : canho() ; Điểm     Huỷ bỏ: ~canho() ; Nhập liệu: virtual void nhap() ;// nhập thông tin hộ Xuất liệu: virtual void xuat() ; //in thơng tin hộ Tính giá bán : virtual double tinhgiaban()=0 ; • Nhà phố: o Tên lớp : nhapho o Thừa kế : từ lớp canho o Thuộc tính : số tầng (số nguyên) o Phương thức :  Thiết lập : nhapho() ;  Huỷ bỏ: ~nhapho() ;  Nhập liệu: void nhap() ;// nhập thông tin nhà phố  Xuất liệu: void xuat() ; //in thông tin nhà phố  Kiểm tra liệu : int kiemtradulieu() ;//kiểm tra liệu (số tầng >0)  Tính giá bán : double tinhgiaban() ; • Nhà sân vườn: o Tên lớp : nhasanvuon o Thừa kế : từ lớp canho o Thuộc tính : diện tích sân vườn (số thực) o Phương thức :  Thiết lập : nhasanvuon() ;  Huỷ bỏ: ~nhasanvuon() ;  Nhập liệu: void nhap() ;// nhập thông tin nhà sân vườn  Xuất liệu: void xuat() ; //in thông tin nhà sân vườn  Kiểm tra liệu : int kiemtradulieu() ;//kiểm tra liệu (diện tích sân vườn >0)  Tính giá bán : double tinhgiaban() ; Vẽ mơ hình lớp đối tượng quan hệ chúng (nếu có) • Vẽ thiếu đối tượng trừ 0.25 điểm • Khơng vẽ mơ hình thừa kế trừ 0.25 điểm • Mơ hình quan hệ lớp đối tượng : Nhapho • Sotang • Nhap() • Xuat() • Tinhgiaban() Nhansanvuon • dientichsanvuon • Nhap() • Xuat() • Tinhgiaban() • Mối quan hệ: • Lớp canho thừa kế từ lớp khudat • Lớp nhapho nhasanvuon thừa kế từ lớp canho Hiện thực lớp ngôn ngữ C++ với phương thức thủ tục cần thiết để thể yêu cầu: (thiếu lớp trừ 0.5 điểm, thiếu phương thức trừ 0.25 điểm, sai quyền truy xuất trừ 0.25 điểm) • Hiện thực lớp C++ o Lớp khu đất:  Quyền truy xuất: protected cho thuộc tính, public cho phương thức  Thuộc tính : char*diadiem ; double dongia,dientich ;  Phương thức: • nhập : virtual void khudat ::nhap() ; • xuất : virtual void khudat ::xuat() ; • tính giá bán : virtual double tinhgiaban() ; o Lớp hộ với phương thức :  Quyền truy xuất: protected cho thuộc tính, public cho phương thức  Thuộc tính : char*diadiem ; double dongia,dientich ;  Phương thức: • nhập : virtual void canho ::nhap() ; • xuất : virtual void canho ::xuat() ; • tính giá bán : virtual double canho ::tinhgiaban() ; o Lớp nhà phố với phương thức :  Quyền truy xuất: protected cho thuộc tính, public cho phương thức  Thuộc tính : char*diadiem ; double dongia,dientich ;  Phương thức: • nhập : void nhapho ::nhap() ; • xuất : void nhapho ::xuat() ; • tính giá bán : double tinhgiaban() ; o Lớp khu đất với phương thức :  Quyền truy xuất: protected cho thuộc tính, public cho phương thức  Thuộc tính : char*diadiem ; double dongia,dientich ;  Phương thức: • nhập : void nhasanvuon::nhap() ; • xuất : void nhasanvuon::xuat() ; • tính giá bán : double nhasanvuon::tinhgiaban() ; • Viết thủ tục dùng chung thể yêu cầu: a) Nhập thông tin khu đất, hộ void nhapthongtin(khudat*[], int &sodoituong){ int loaidoituong=0; coutsodoituong; for(int i=0;i

Ngày đăng: 19/08/2013, 09:39

Hình ảnh liên quan

a) Hãy thiết kế mô hình theo hướng hướng đối tượng để đáp ứng yêu cầu quản lý của công ty này. - Đề cương ôn tập lập trình  hướng đối tượng

a.

Hãy thiết kế mô hình theo hướng hướng đối tượng để đáp ứng yêu cầu quản lý của công ty này Xem tại trang 8 của tài liệu.
2 Vẽ mô hình các lớp đối tượng và quan hệ giữa chúng (nếu có) •Vẽ thiếu một đối tượng trừ 0.25 điểm  - Đề cương ôn tập lập trình  hướng đối tượng

2.

Vẽ mô hình các lớp đối tượng và quan hệ giữa chúng (nếu có) •Vẽ thiếu một đối tượng trừ 0.25 điểm Xem tại trang 9 của tài liệu.
• Mô hình quan hệ giữa các lớp đối tượng: - Đề cương ôn tập lập trình  hướng đối tượng

h.

ình quan hệ giữa các lớp đối tượng: Xem tại trang 10 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan