Bài Tập Lập Trình Hướng đối Tượng Cơ Bản, Nâng Cao - Blog | Got It AI

  • All
  • Job Opportunities
  • Recruitment Tips
  • Products
  • People & Culture
  • Tech blogs
  • Sharing
  • Reference
Search Bài tập lập trình hướng đối tượng cơ bản, nâng cao

Để nâng cao kỹ năng Lập trình hướng đối tượng – Object-Oriented Programming (OOP), bạn cần liên tục rèn luyện, thực hành. Trong bài viết hôm nay, Got It sẽ chia sẻ tới bạn các bài tập lập trình hướng đối tượng.

Các bài tập này sẽ giúp bạn ôn lập trình hướng đối tượng từ level cơ bản đến level nâng cao với đa dạng format đề bài. Khi bạn đã “xử” xong các bài tập này, hãy kéo đến cuối bài viết kiểm tra các đáp án và kiểm chứng độ thành thạo của bạn với OOP nhé!

Mục lục

  • 1. Bài tập lập trình hướng đối tượng cơ bản
  • 2. Bài tập thực hành
  • 3. Đáp án cho các bài tập
    • 3.1 Bài tập cơ bản
    • 3.2. Bài tập thực hành

1. Bài tập lập trình hướng đối tượng cơ bản

1. Đâu là ngôn ngữ lập trình hướng đối tượng đầu tiên?

A. Java

C. Smalltalk

B. C++

D. Kotlin

2. Đâu là thứ định nghĩa một lớp tốt nhất?

A. Phần tử cha của một đối tượng

C. Blueprint của một đối tượng

B. Bản sao của một đối tượng

D. Phạm vi của một đối tượng

3. Đâu là tính năng có thêm trong lớp mà không có trong cấu trúc?

A. Thành phần dữ liệu

C. Dữ liệu tĩnh cho phép

B. Hàm thành phần

D. Chỉ định truy cập công khai

4. Đâu không phải đặc điểm của OOP theo định nghĩa chung?

A. Tái sử dụng code

C. Sao chép/Dự phòng dữ liệu

B. Tính mô-đun

D. Code hiệu quả

5. OOP có thể được triển khai mà không cần dùng đến lớp trong một chương trình. Đúng hay Sai

A. Đúng

B. Sai

6. Đặc điểm nào của OOP thể hiện tính tái sử dụng code?

A. Đa hình

C. Đóng gói

B. Trừu tượng

D. Kế thừa

7. Ngôn ngữ lập trình nào không hỗ trợ cả 4 loại kế thừa?

A. C++

C. Kotlin

B. Java

D. Smalltalk

8. Có thể định nghĩa bao nhiêu lớp trong một chương trình?

A. 1

C. 999

B. 100

D. Không hạn chế

9. Tại sao Java không hẳn là một ngôn ngữ hướng đối tượng?

A. Nó không hỗ trợ cách khai báo thông thường của những loại dữ liệu cơ bản

B. Nó không hỗ trợ tất cả các loại kế thừa.

C. Nó cho phép viết code ngoài lớp

D. Nó không hỗ trợ con trỏ

10. Nhận định nào về OOP không đúng với C++?

A. Code có thể viết mà không cần đến class.

B. Code phải chứa ít nhất một lớp

C. Một class phải có các member function.

D. Ít nhất phải có một đối tượng được khai báo trong code

11. File header nào là bắt buộc để sử dụng OOP trong C++?

A. iostream.h

B. stdio.h

C. stdlib.h

D. OOP có thể sử dụng mà không cần file header.

12. Hai đặc điểm nào luôn song hành với nhau?

A. Kế thừa và Đóng gói

C. Đóng gói và Trừu tượng

B. Đóng gói và Đa hình

D. Trừu tượng và Đa hình

13. Tính năng nào cho phép mở đệ quy (recursion) ?

A. Sử dụng con trỏ

B. Sử dụng con trỏ

C. Sử dụng pass by value

D. Sử dụng constructor tham số hóa

2. Bài tập thực hành

Bài 1: Viết một chương trình định nghĩa một lớp hình có constructor đưa ra giá trị của chiều rộng và chiều dài. Sau đó, định nghĩa hai lớp con hình tam giác và hình chữ nhật. Hai lớp con này tính diện tích của hình. Trong lớp chính, định nghĩa hai biến hình tam giác và hình chữ nhật. Sau đó gọi hàm area() trong hai biến này.

Bài 2: Viết một chương trình mẹ với một lớp con kế thừa. Cả hai đều phải có method void display () để print một message (message của mẹ và con khác nhau). Trong phần chính, định nghĩa lớp con và gọi method display() dựa trên lớp con.

Bài 3: Viết một chương trình với lớp mẹ animal. Trong chương trình này, định nghĩa các biến tên, tuổi và hàm set_value(). Sau đó tạo hai biến cơ bản Zebra và Dolphin để viết message thông báo tên tuổi và những thông tin khác (như nguồn gốc).

Bài 4:

a. Tạo một lớp Vehicle với các thuộc tính max_speed và bản sao tổng số. b. Tạo một lớp Vehicle không có biến và phương thức nào cả. c. Tạo một lớp con Bus kế thừa mọi biến và phương thức của lớp cha Vehicle. d. Hãy đưa ra đối số sức chứa của Bus.seating_capacity() một giá trị mặc định là 50. e. Xác định mỗi đối tượng của Bus thuộc lớp nào. f. Xác định nếu School_bus cũng là một bản sao của lớp Vehicle

3. Đáp án cho các bài tập

3.1 Bài tập cơ bản

1, C

4, C

7, B

10, B

13, A

2, C

5, B

8, D

11, D

3, B

6, D

9, A

12, C

3.2. Bài tập thực hành

Bài 1:

Bài tập thực hành lập trình hướng đối tượng
Đáp án bài thực hành 1

Bài 2:

Thực hành lập trình hướng đối tượng
Đáp án bài thực hành 2

Bài 3:

Bài tập lập trình hướng đối tượng
Đáp án bài thực hành 3

Bài 4:

a.

def __init__(self, name, max_speed, mileage): self.name = name self.max_speed = max_speed self.mileage = mileage

b.

class Vehicle: pass

c.

class Vehicle: def __init__(self, name, max_speed, mileage): self.name = name self.max_speed = max_speed self.mileage = mileage class Bus(Vehicle): pass School_bus = Bus("School Volvo", 180, 12) print("Vehicle Name:", School_bus.name, "Speed:", School_bus.max_speed, "Mileage:", School_bus.mileage)

d.

class Vehicle: def __init__(self, name, max_speed, mileage): self.name = name self.max_speed = max_speed self.mileage = mileage def seating_capacity(self, capacity): return f"The seating capacity of a {self.name} is {capacity} passengers" class Bus(Vehicle): def seating_capacity(self, capacity=50): return super().seating_capacity(capacity=50) School_bus = Bus("School Volvo", 180, 12) print(School_bus.seating_capacity())

e.

class Vehicle: def __init__(self, name, mileage, capacity): self.name = name self.mileage = mileage self.capacity = capacity class Bus(Vehicle): pass School_bus = Bus("School Volvo", 12, 50) # use Python's built-in type() function print(type(School_bus))

f.

class Vehicle: def __init__(self, name, mileage, capacity): self.name = name self.mileage = mileage self.capacity = capacity class Bus(Vehicle): pass School_bus = Bus("School Volvo", 12, 50) # use Python's built-in isinstance() function print(isinstance(School_bus, Vehicle))

Hy vọng rằng với những bài tập lập trình hướng đối tượng trên, các bạn đã hiểu hơn về khái niệm lập trình hướng đối tượng. Happy Coding!

Tìm hiểu thêm: 4 khoá học lập trình hướng đối tượng cho người mới

Got It Vietnam – Tham khảo: PyNative, Sanfoundry

Đọc thêm về quy trình tuyển dụng tại đây.

Facebook Got It VietnamFacebook LinkedIn Got It VietnamLinkedIn Instagram Got It VietnamInstagram YouTube Got It VietnamYouTube Gmail Got It VietnamGmail https://d1iv5z3ivlqga1.cloudfront.net/wp-content/uploads/2021/04/29235048/1_QAG9RXQyyMAY7i9OYo84FA.png Got It Vietnam February 09, 2021 Share this post to: Tags: lập trình hướng đối tượngtự học lập trìnhbài tập lập trình Connect with I allow to create an account When you login first time using a Social Login button, we collect your account public profile information shared by Social Login provider, based on your privacy settings. We also get your email address to automatically create an account for you in our website. Once your account is created, you'll be logged-in to this account. DisagreeAgree I allow to create an account When you login first time using a Social Login button, we collect your account public profile information shared by Social Login provider, based on your privacy settings. We also get your email address to automatically create an account for you in our website. Once your account is created, you'll be logged-in to this account. DisagreeAgree Please login to comment 0 Comments Inline Feedbacks View all comments

Cơ hội việc làm

Frontend Lead

Job Opportunities | November 17, 2023

Frontend Engineer (Middle/Senior)

Job Opportunities | November 10, 2023

Private: Backend Engineer (Middle/Senior)

Job Opportunities | September 21, 2023

Backend Lead

Job Opportunities | October 19, 2023

Got It Recruitment — Phần 1. Quy trình tuyển dụng

Recruitment Tips | April 2, 2019 Các bài viết liên quan Visual Studio Code là gì? Lợi thế từ việc sử dụng Visual Studio Code

Visual Studio Code là gì? Lợi thế từ việc sử dụng Visual Studio Code

Visual Studio Code là gì mà khiến cộng đồng IT Việt yêu thích đến vậy? Trình soạn thảo code này sẽ giúp bạn xây dựng ứng dụng web và cloud như thế nào? Hãy cùng Got It tìm hiểu Visual Studio Code ngay hôm nay nhé! Mục lục1. Visual Studio Code là gì?2. Phân biệt […] May 3, 2021 Hướng dẫn cách sử dụng Visual Studio Code căn bản

Hướng dẫn cách sử dụng Visual Studio Code căn bản

Nhanh, gọn nhẹ, đa năng và hoạt động mạnh mẽ trên đa nền tảng là những ưu điểm nổi trội của trình soạn thảo VS Code. Cách sử dụng Visual Studio Code cơ bản sẽ được hướng dẫn cụ thể trong bài viết dưới đây. Mục lụcVisual Studio Code là gì và dành cho ai?Phiên […] May 3, 2021 Hướng dẫn cách format code Visual Studio Code với Prettier

Hướng dẫn cách format code Visual Studio Code với Prettier

Việc định dạng mã sao cho thống nhất là một thử thách khó khăn đối với đa phần lập trình viên. Prettier chính là công cụ format code của Visual Studio Code giúp bạn duy trì sự nhất quán trong toàn bộ cơ sở mã của nhóm. Cùng tìm hiểu cách dùng Prettier để format […] May 2, 2021 Cách sử dụng phím tắt sắp xếp code trong Visual Studio Code

Cách sử dụng phím tắt sắp xếp code trong Visual Studio Code

Chỉ với một vài thao tác đơn giản với phím tắt sắp xếp code trong Visual Studio Code, bạn đã có thể tạo ra một đoạn mã đẹp mắt, ngay ngắn và dễ đọc. Cùng tìm hiểu về cách sử dụng phím tắt này và khám phá thêm một vài phím tắt hữu ích khách […] May 1, 2021 4 quyển sách Python tiếng Việt cho người mới bắt đầu

4 quyển sách Python tiếng Việt cho người mới bắt đầu

Bạn muốn tìm hiểu về Python nhưng tìm đâu cũng chỉ thấy sách tiếng Anh? Đừng lo, Got It sẽ dành tặng bạn 4 quyển sách Python tiếng Việt cực kỳ hữu ích ngay trong bài viết này! Cùng khám phá nhé! Mục lụcPython cơ bản… Rất là cơ bản – Võ Tuấn DuyTớ Học […] February 24, 2021 4 khóa học lập trình hướng đối tượng miễn phí cho người mới

4 khóa học lập trình hướng đối tượng miễn phí cho người mới

Nếu bạn muốn theo nghề IT thì sớm muộn cũng phải học lập trình hướng đối tượng. Đây là một kiến thức cơ bản, bắt buộc phải biết. Bài viết sẽ chia sẻ với bạn 4 khóa học miễn phí, phù hợp với người mới bắt đầu. Tìm hiểu thêm: Bài tập ôn luyện Lập […] February 23, 2021 Email: [email protected] | Phone: ​+(84) 2432 321 448Address: 9th and 12th floor, HCMCC Building, 249A Thuy Khue, Tay Ho, Hanoi, Vietnam © 2024 Got It, Inc. All rights reserved. Sign up for our monthly newsletter to learn about Got It & discover valuable information. Subscribe Leave this field empty if you're human: Footer bottom image Insert

Từ khóa » Bài Tập Oop