inflearn logo
inflearn logo

Bản chất của hướng đối tượng trong vòng 30 phút

Nhiều nhà phát triển nói rằng họ đã học về hướng đối tượng. Nhưng thực tế, đa số trường hợp chỉ dừng lại ở việc biết "cú pháp" về lớp (class), kế thừa (inheritance) và đa hình (polymorphism). Khóa học này không phải là bài giảng giải thích về cú pháp. ✔ Tại sao lập trình hướng đối tượng lại ra đời? ✔ Đối tượng là gì và tại sao "trách nhiệm" lại quan trọng? ✔ Tại sao tính đa hình lại tạo ra cấu trúc có thể mở rộng? ✔ Lập trình hướng đối tượng kết nối với khoa học máy tính như thế nào? Tôi sẽ đúc kết "tư duy hướng đối tượng thực thụ" mà tôi đã trải nghiệm trực tiếp qua việc thiết kế hệ thống chỉ trong vòng 30 phút. Thông qua khóa học này, Bạn sẽ hiểu về hướng đối tượng không phải như một "phong cách lập trình", mà là một "chiến lược thiết kế để kiểm soát độ phức tạp".

79 học viên đang tham gia khóa học này

Độ khó Nhập môn

Thời gian Không giới hạn

oop
oop
Interview
Interview
software-design
software-design
solid
solid
Software Engineering
Software Engineering
oop
oop
Interview
Interview
software-design
software-design
solid
solid
Software Engineering
Software Engineering
Thumbnail

Bạn sẽ nhận được điều này sau khi học.

  • Bạn sẽ hiểu hướng đối tượng không phải là "ngữ pháp" mà là "tư duy thiết kế".

  • Bạn sẽ có thể phân biệt rõ ràng sự khác biệt giữa kế thừa và tổng hợp.

  • Bạn sẽ có thể giải thích tại sao tính đa hình lại tạo ra khả năng mở rộng.

  • Bạn sẽ hiểu được sự cần thiết của việc thiết kế dựa trên giao diện (interface).

  • Bạn sẽ có thể giải thích tại sao hướng đối tượng lại là một chiến lược kiểm soát độ phức tạp.

Bản chất của hướng đối tượng trong vòng 30 phút

Tổng hợp hoàn chỉnh về OOP - Học bằng triết lý thiết kế thay vì cú pháp

Bạn nghĩ rằng mình đã học về hướng đối tượng,
nhưng khi thực sự bắt tay vào thiết kế mã nguồn, bạn có gặp phải những trăn trở này không?

  • Khi nào nên sử dụng kế thừa và khi nào nên sử dụng tổng hợp (composition)?

  • Đã học thuộc lòng SOLID rồi nhưng tại sao vẫn không áp dụng được vào thực tế?

  • Tại sao tính đa hình lại tạo ra khả năng mở rộng?

  • Tại sao hướng đối tượng lại quan trọng đến vậy trong các buổi phỏng vấn?

Nhiều nhà phát triển biết về cú pháp hướng đối tượng, nhưng
lại không thực sự hiểu tại sao phải thiết kế như vậy.

Khóa học này không phải là bài giảng giải thích về cú pháp.
Đây là bài giảng để thấu hiểu bản chất của hướng đối tượng.



Lập trình hướng đối tượng không phải là một kỹ thuật, mà là một “chiến lược kiểm soát độ phức tạp”

Hướng đối tượng không đơn thuần là một phong cách lập trình.
Hướng đối tượng là một chiến lược để xử lý độ phức tạp trong thiết kế phần mềm.

Trong khóa học này, chúng ta sẽ tìm hiểu về các nội dung sau:

  • Tại sao đối tượng lại được cấu tạo từ trạng thái + hành vi + trách nhiệm?

  • Tại sao đối tượng nên được thiết kế dựa trên thông điệp?

  • Tại sao tính đa hình lại tạo ra cấu trúc có thể mở rộng?

  • Lập trình hướng đối tượng có mối quan hệ như thế nào với ADT (Kiểu dữ liệu trừu tượng)?

  • Tại sao nguyên tắc SOLID lại được coi trọng trong kỹ thuật phần mềm?

Nếu hiểu lập trình hướng đối tượng dưới góc độ thiết kế phần mềm,
tầm nhìn của bạn đối với mã nguồn sẽ hoàn toàn thay đổi.


Đặc biệt đề xuất cho những đối tượng sau đây

  • Những người đã học về hướng đối tượng nhưng vẫn đang viết code theo "cảm tính"

  • Những người muốn hiểu về thiết kế phần mềm một cách hệ thống

  • Những người muốn hiểu rõ lý do tại sao SOLID lại cần thiết

  • Những người lo sợ các câu hỏi về hướng đối tượng trong phỏng vấn phát triển phần mềm

  • Những người muốn tạo ra cấu trúc dễ bảo trì trong thực tế công việc.

Đặc biệt, tôi thực sự khuyên dùng khóa học này cho những ai muốn trả lời câu hỏi
“Lập trình hướng đối tượng là gì?”
dưới góc nhìn triết học và thiết kế trong các buổi phỏng vấn phát triển phần mềm.


Những gì bạn sẽ nhận được từ khóa học này

  • Bạn sẽ có thể giải thích về hướng đối tượng như một "triết lý thiết kế" thay vì chỉ là "cú pháp".

  • Bạn sẽ hiểu rõ sự khác biệt giữa kế thừa và tổng hợp.

  • Bạn sẽ có thể giải thích được sự cần thiết của thiết kế dựa trên trừu tượng hóa và interface.

  • Bạn sẽ hiểu các nguyên tắc SOLID theo ngữ cảnh thay vì chỉ học thuộc lòng.

  • Bạn sẽ có thể giải thích tại sao hướng đối tượng lại là một chiến lược để kiểm soát độ phức tạp.


Cấu trúc bài giảng

  • Bài 1: Tại sao lập trình hướng đối tượng lại ra đời — Tư duy tập trung vào trách nhiệm và thông điệp

  • Bài 2: Đóng gói, Kế thừa vs Tổng hợp, Đa hình — Bản chất của cơ chế

  • Bài 3: Trừu tượng hóa, ADT, SOLID — Hoàn thiện dưới góc nhìn Khoa học máy tính

Dù chỉ là 30 phút ngắn ngủi,
tôi sẽ tóm tắt chính xác những cốt lõi của lập trình hướng đối tượng cho bạn.


Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Những lập trình viên đã học về hướng đối tượng nhưng vẫn viết code theo "cảm tính"

  • Những người đang phân vân không biết khi nào nên sử dụng kế thừa và khi nào nên sử dụng tổng hợp (composition)

  • Dành cho những ai chưa hiểu tại sao cần đến SOLID

  • Sinh viên mới tốt nghiệp đang tìm việc sợ các câu hỏi về hướng đối tượng trong phỏng vấn thiết kế.

  • Nhà phát triển cảm thấy mình sử dụng class nhưng vẫn chưa hiểu rõ về lập trình hướng đối tượng.

Cần biết trước khi bắt đầu?

  • Sẽ rất tốt nếu bạn đã biết về khái niệm biến và hàm.

  • Nếu bạn đã từng có kinh nghiệm sử dụng Java, C++, Python dù chỉ một lần, bạn sẽ hiểu nhanh hơn.

  • Tuy nhiên, kiến thức về một ngôn ngữ cụ thể không phải là bắt buộc.

Xin chào
Đây là kmmom591

312

Học viên

27

Đánh giá

2

Trả lời

4.6

Xếp hạng

7

Các khóa học

Xin chào.
Tôi là nhà phát triển đang làm việc với tư cách là nhà nghiên cứu quốc phòng và phát triển phần mềm tại một doanh nghiệp công nghiệp quốc phòng.

Tôi tốt nghiệp chuyên ngành Khoa học máy tính tại trường đại học,
sau khi gia nhập công ty công nghiệp quốc phòng, tôi đã tham gia vào các dự án phát triển phần mềm quốc phòng thực tế.
Hiện tại, tôi đang phát triển các phần mềm liên kết với hệ thống vũ khí và hệ thống quốc phòng,
đồng thời thực hiện phát triển hệ thống dựa trên C++ và Java.

Thêm

Chương trình giảng dạy

Tất cả

3 bài giảng ∙ (21phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

Khóa học khác của kmmom591

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!

Miễn phí