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

Nhiều người (đa phần là sinh viên hoặc những người mới tiếp xúc với lập trình) thường cảm thấy sợ khi nhắc đến khái niệm “HƯỚNG ĐỐI TƯỢNG”, vậy thì nó là gì?

Sau đây là theo quan điểm của một con gà công nghệ như tôi.

LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (OOP – Object-oriented programming)

Chúng ta sẽ tách ra làm 2 vế: LẬP TRÌNHHƯỚNG ĐỐI TƯỢNG.

  • Lập trình: Quá trình chúng ta ra lệnh cho máy tính làm những việc mà chúng ta muốn bằng cách giao tiếp với nó thông qua một ngôn ngữ nào đó (ngôn ngữ lập trình).
  • Hướng đối tượng: Đối tượng là những gì có xung quanh chúng ta.

Như bạn cũng biết thì máy tính được phát minh ra để giải quyết những vấn đề thực tế trong cuộc sống mà con người khó hoặc không thể làm được, ví dụ như tính nhiều phép toán cùng một lúc chẳng hạn.

Lập trình hướng đối tượng tức là dùng ngôn ngữ lập trình để giải quyết các vấn đề trong cuộc sống.

Ví dụ viết một chương trình tính toán lãi suất ngân hàng, thì những con số chính là đối tượng mà chúng ta sẽ phải làm việc với nó, và nhắc đến lập trình thì hầu như chúng ta đều phải làm quen với những con số, những phép toán. Cho nên người ta mới nói để trở thành một lập trình viên giỏi thì cần phải giỏi toán, nhưng các bạn lưu ý một điều là dở toán không có nghĩa là không thể trở thành một lập trình viên giỏi.

Thật ra nó chẳng có gì ghê gớm cả, các bạn hãy từ từ thưởng thức nhé, nó chỉ là bước đầu thôi. Chúc các bạn thành công!

Huy Nguyen

Khóa học C++ daynhauhoc.com

Khóa học này được anh em trên DAYNHAUHOC cùng nhau xây dựng cũng đã lâu và vẫn còn tiếp tục được phát triển.

dev210x-course_card_image-378x225

Nội dung trình bày, bố cục khá hợp lý dành cho những bạn mới bắt đầu với việc tiếp xúc các ngôn ngữ lập trình nói chung và ngôn ngữ C/C++ nói riêng.

Sau đây là phần lý thuyết, các bạn có thể xem bất cứ khi nào tại link dưới đây:

https://cpp.daynhauhoc.com

Ngoài ra còn có series các videos hướng dẫn do chính founder của DAYNHAUHOC làm ra với mục đích làm cho khóa học thêm sinh động và các bạn dễ tiếp cận hơn.

Có thể tham khảo khóa học này tại đây:

https://www.udemy.com/c-co-ban-danh-cho-nguoi-moi-hoc-lap-trinh/

Đăng ký mua với giá ưu đãi nhất? Click vào link dưới đây:

https://docs.google.com/forms/d/e/1FAIpQLScHY3aMUaG81hafWHL8Gzhj_ZUskRVsyOJS0P_Xr7gPoe29FA/viewform

 

Mọi chi tiết vui lòng xem thêm tại DAYNHAUHOC.COM

UML Class Diagram

 

Dependency:

public class A {
public void doSomething(B b) {

}
}

 

Aggregation:

public class A {

private B _b;

public void setB(B b) { _b = b; }
}

 

Composition:

public class A {
private B _b = new B();
}
//or

public class A {

private B _b;

public A() {
_b = new B();
} // default constructor
}

 

Inheritance:

public class A {

...

} // class A

public class B extends A {

....

} // class B

 

Realization:

public interface A {

...

} // interface A

public class B implements A {

...

} // class B

 

source: Kipalog

Books

Java / Android:

New

Introduction to Java (Excellent)

100 QUESTIONS AND ANSWERS for Android interview

Data structures & Algorithms in Java

Android Programming The Big Nerd Ranch Guide (2nd edition)

Android Programming Pushing the Limits – Erik Hellman


1. An Introduction to Object-Oriented Programming with Java 5th Edition
2. Android Application Development for For Dummies
3. Head First Java 2nd edition
4. Unlocking Android
5. The Busy Coders Guide to Android Development
6. Beginning Android 4 Application Development
7. Android Wireless Application Development
8. Professional android application development
9. Beginning Java 2
10. Thinking in Java v.3
11. Beginning Programming with Java For Dummies, 4th Edition
12. Java How to Program, 9th Edition – 2012
13. Java Cookbook, 2nd Edition

14. Pro Android Games, 3rd Edition

15. Android Recipes, 3rd Edition

16. Professional android sensor programming

17. Beginning Android 4 Games Development

18. OCA Java SE 7 Programmer I Certification Guide

19. Head First Servlets and JSP, 2nd Edition

20. Java EE 7

Design pattern:

  1. Design Pattern-Oriented Software Architecture(A System Of Patterns)
  2. Mobile Design Pattern Gallery, 2nd Edition
  3. Patterns of Enterprise Application Architecture

Php/Js/web Dev:

  1. OReilly PHPCookbook 3rd Edition
  2. Learn JavaScript and Ajax with W3Schools
  3. Professional JavaScript for Web Developers, 3rd Edition

Database:

  1. MySQL Cookbook, 3rd Edition

Algorithms:

1. Algorithms (4th edition) (robert sedgewick and kevin wayne – princeton university, 2011)
2. Notes for the course advanced algorithms (January 2000)
3. Thuật toán
4. Algorithms – Jeff Erickson
5. Advanced Algorithms Lecture Notes (Periklis A. Papakonstantinou)

C/C++/C#/DataStructure & Algorithms:

1. C++ How to program (8th Edition)
2. Beginning C++ Through Game Programming 3e – Dawson – Course Tech (2011)
3. C++ CookBook
4. Data Structures And Algorithms in C++ Second Edition
5. Giáo trình C căn bản (HaNoi Aptech)
6. HeadFirst C
7. Illustrating C (ANSI_ISO version) – Donald Alcock
8. Lập trình C# cơ bản (Nhất Nghệ)
9. Sams Teach Yourself C++ in One Hour a Day 7th
10. The ANSI C Programming Language Ritchie & Kernighan
11. Thinking in C++ Volume 1
12. Thinking in C++ Volume 2
13. Visual C# 2012 How to Program

Python:

1. Learn Python The Hard Way 3rd Edition

Other:

  1. Parachute 2012

Operating System:

  1. Operating System 8th Edition

Phân tích thiết kế hệ thống:

  1. link

Quản lý dự án phần mềm:

  1. link

 

  1. Cơ sở dữ liệu
  2. Thực hành Cơ sở lập trình 1
  3. Thực Hành Cơ sở lập trình 2

  1. ĐẮC NHÂN TÂM