Hiện tại, rất nhiều công ty phỏng vấn đều đòi hỏi những kiến thức căn bản như kỹ thuật lập trình, cơ sở dữ liệu và hướng đối tượng (OOP) khi đi phỏng vấn lại là một công nghệ được chú tâm nhất trong tuyển dụng ngày này.
Ngày hôm nay, DTH Share sẽ tổng hợp những câu hỏi về Hướng Đối Tượng thường gặp nhất trong một buổi phỏng nhất cho các bạn.
Hướng Đối Tượng là gì?
Hướng đối tượng (hay Object Oriented Programming – OOP), là một mô hình lập trình nơi mà phần mềm hoàn chỉnh hoạt động như một loạt các đối tượng liên kết với nhau. Một đối tượng là một tập hợp dữ liệu và các phương thức hoạt động trên dữ liệu của nó.
Tại sao phải sử dụng Hướng Đối Tượng?
Ưu điểm chính mà lập trình Hướng Đối Tượng có thể mang tới chính là việc tối ưu việc quản lý source code, và giải quyết được những việc sau:
- Sự hiểu biết tổng thể về phần mềm được tăng lên như khoảng cách giữa ngôn ngữ được các lập trình viên dùng và được người dùng sử dụng.
- Hướng đối tượng làm giảm bảo trì bằng cách sử dụng tính đóng gói (encapsulation). Người ta có thể dễ dàng thay đổi biểu diễn cơ bản bằng cách giữ các phương thức giống nhau.
Mô hình OOP chủ yếu là hữu ích cho phần mềm tương đối lớn.
Các tính chất nổi bật của Hướng Đối Tượng là gì?
- Tính đóng gói (Encapsulation)
- Tính đa hình (Polymorphism)
- Tính kế thừa (Inheritance)
- Tính trừu tượng (Abstraction)
Tính đóng gói (Encapsulation) là gì?
Tính đóng gói (Encapsulation) được biểu hiện là một trong hai khái niệm sau đây:
- Ẩn dữ liệu (Data hiding): Một tính năng ngôn ngữ để hạn chế quyền truy cập vào các phần tử của một đối tượng. Ví dụ, các phương thức private và protected trong C++/C#/Java…
- Kết hợp dữ liệu và phương thức với nhau: Dữ liệu và phương thức hoạt động trên dữ liệu đó được nhóm lại với nhau.
Tính đa hình (Polymorphism) là gì?
Đây là một trong những câu hỏi hướng đối tượng (OOP) khi phỏng vấn được những nhà tuyển dụng hỏi nhiều nhất. Vì đây là một trong những định nghĩa khó trình bày nhất.
Tính đa hình (Polymorphism) là một tính chất cho phép một đối tượng tại một thời điểm, một ngữ cách khác nhau có thể khác nhau về phương thức, tham biến và dữ liệu.
Tính kế thừa (Inheritance) là gì?
Đây là một tính chất dễ hình dung và sử dụng khá nhiều. Một lớp được dựa trên một lớp khác, sử dụng dữ liệu và thực hiện lớp khác.
Mục đích của tính kế thừa (Inheritance) là Tái sử dụng Code (Code Reduce).
Tính trừu tượng (Abstraction) là gì?
Tính trừu tượng (Abstraction) là một trong những khái niệm chính của ngôn ngữ lập trình hướng đối tượng (OOP). Mục tiêu chính của nó là xử lý sự phức tạp bằng cách ẩn các chi tiết không cần thiết từ các lập trình viên với nhau.
Điều đó cho phép người lập trình thực hiện logic phức tạp hơn trên lớp trừu tượng được cung cấp mà không cần sự hiểu biết hoặc thậm chí suy nghĩ về tất cả sự phức tạp ẩn.
nguồn: dthshare.com