thumbnail - Lập trình hướng đối tượng là gì?
Kim Ánh Vu
Hà Nội

Lập trình hướng đối tượng là gì?

Cho đến nay, tôi vẫn chưa thấy lời giải thích nào tốt hơn về lập trình hướng đối tượng OOP so với lời giải thích của một anh chàng chưa từng được đào tạo kỹ thuật chính thức, nhưng luôn có ý tưởng rõ ràng về mọi thứ ông ấy đã làm và rao giảng, dù là công nghệ, thiết kế hay nghệ thuật.

Ở đây, trong một đoạn trích từ cuộc phỏng vấn trên Rolling Stone năm 1994, Steve Jobs, cố CEO Apple giải thích lập trình hướng đối tượng là gì?

Lập trình hướng đối tượng là gì? 

Steve Jobs sinh thời

Jeff Goodell: Anh có thể giải thích một cách đơn giản, chính xác phần mềm hướng đối tượng là gì không?

Steve Jobs: Đối tượng cũng giống như con người. Chúng đang sống, đang hít thở và kiến thức về cách thực hiện mọi việc, có trí nhớ để chúng có thể ghi nhớ mọi thứ. Và thay vì tương tác với chúng ở mức độ rất thấp, bạn tương tác với chúng ở mức độ trừu tượng rất cao, giống như chúng ta đang làm ngay tại đây.

Đây là một ví dụ: Nếu tôi là đối tượng giặt là của anh, anh có thể đưa cho tôi quần áo bẩn và gửi cho tôi một tin nhắn có nội dung “Bạn có thể giặt quần áo của tôi được không”. Tôi tình cờ biết nơi giặt là tốt nhất ở San Francisco. Tôi nói tiếng Anh và tôi có đô la trong túi. 

Vì vậy, tôi đi ra ngoài và gọi một chiếc taxi và bảo người lái xe đưa tôi đến nơi này ở San Francisco. Tôi đi giặt quần áo cho anh, tôi quay lại taxi, tôi quay lại đây. Tôi đưa cho bạn quần áo sạch và nói, "Đây là quần áo sạch của anh đây".

Bạn không biết làm thế nào tôi đã làm điều đó. Bạn không có kiến thức về nơi giặt là. Có thể bạn nói tiếng Pháp và bạn thậm chí không thể đón taxi. Bạn không thể trả cho taxi, bạn không có đô la trong túi. Tuy nhiên, tôi biết cách để làm tất cả những điều đó. Bạn không cần phải biết bất kỳ điều gì trong số đó. Tất cả sự phức tạp đó đều ẩn bên trong tôi, chúng tôi có thể tương tác ở mức độ trừu tượng rất cao. Đó là đối tượng. Chúng bao hàm độ phức tạp và các giao diện cho độ phức tạp đó ở mức độ rất cao.

>> Tại sao hầu hết các lập trình viên không thích lập trình nhúng phần cứng?

Chủ đề liên quan

Chủ đề khác