Những câu hỏi phỏng vấn về OOP – Phần 2: 4 tính chất của OOP

Các bạn đã học được hết những câu hỏi trong những bài trước chưa. Chúng ta cùng tiếp tục đến với 4 tính chất của OOP trong blog này. Đó chính là tính trừu tượng, đóng gói, kế thừa và đa hình.

Bài viết về phỏng vấn OOP phần 1 tại đây

Bắt đầu nhé!

Câu 1: Tính trừu tượng là gì?

Tính trừu tượng là ẩn các chi tiết triển khai và chỉ hiển thị các tính năng với người dùng. Tính chất này cho phép loại bỏ các tính chất phức tạp của đổi tượng, chỉ cần đưa ra các tính chất cần thiết trong lập trình giúp tập trung vào những cốt lõi của đối tượng.

Câu 2: Lớp trừu tượng (Abstract class) là gì?

Là lớp không có thể hiện cụ thể.

Câu 3: Phương thức trừu tượng (Abstract method) là gì?

Là phương thức không có trình triển khai

Câu 4: Phương thức trừu tượng phải đươc đặt ở đâu?

Ở trong lớp trừu tượng.

Câu 5: Thuộc tính của interface có gì đặc biệt?

Phải là hằng số

Câu 6: Phương thức của interface có gì đặc biệt?

  • Không có thân
  • Là public method

Câu 7: Interface có thể là final không?

Không. Vì muốn sử dụng được phương thức của interface, phải có một lớp triển khai nó và sử dụng thông qua lớp đó.

Câu 8: Vậy abstract class có là final được không?

Không. Vì cần phải có các lớp khác kế thừa để có thể có các thể hiện khác nhau của abstract class.

Câu 9: Tính đóng gói là gi?

Là quy định các trạng thái của đối tượng không cho phép code ở ngoài phạm vi có thể thay đổi trạng thái hoặc nhìn thấy.

Câu 10: Tính đóng gói được thể hiện thông qua đâu?

Access modifier

Câu 11: Có những loại Access modifier nào và nêu phạm vi sử dụng của chúng?

  • Public: có thể truy cập ở bất cứ đâu
  • Protected: có thể truy cập bởi các class trong cùng package hoặc các class con
  • Default: có thể truy câp bởi các class trong cùng package
  • Private: có thể truy cập trong cùng class

Câu 12: Tính kế thừa là gì?

Là khả năng xây dựng 1 class mới (con) dựa trên 1 class đã có (cha)

Câu 13: Cha của tất cả các lớp là lớp nào?

Object

Câu 14: Muốn tham chiếu trực tiếp đến đối tượng của lớp cha, ta dùng từ khóa nào?

Super

Câu 15: Sự khác nhau giữa this() và super() là gì?

This() để gọi đến constructor trong lớp hiện tại còn super() gọi đến constructor trong lớp cha

Câu 16: Đa hình là gì?

Là khi một hành động được thực hiện theo nhiều cách khác nhau.

Câu 17: Làm như nào để có thể có tính đa hình?

Sử dụng overloading hoặc overriding

Trên đây là những câu hỏi thường gặp về 4 tính chất của OOP. Cũng khá nhiều kiến thức rồi đó. Cùng cố gắng nhé. Tiếp theo sẽ là blog nói về “Xử lý ngoại lệ”. Đây là phần kiến thức khó nên cũng ít khi hỏi trong phỏng vấn. Nhưng nếu có bị hỏi chúng ta sẽ deal được mức lương kha khá đó. Vậy chúng ta đi qua phần tiếp theo nha.

Author: Nguyễn Minh Quân

Đăng ký nhận bộ tài liệu kỹ năng dành cho lập trình viên (video hướng dẫn + slide) tại đây

Tìm hiểu thêm về mô hình Coding Bootcamp tại đây


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.