Lưu ý : bạn phải đăng ký làm thành viên thì mới có thể download tại diễn đàn này ^-^
Người đẹp
Social bookmarking
Tìm kiếm
Latest topics
Lập trình hướng đối tượng (OOP)
Trang 1 trong tổng số 1 trang
Lập trình hướng đối tượng (OOP)
Lập trình hướng đối tượng được ghi tắt là OOP (object-oriented
programming). Là một phuơng hướng lập trình tách biệt so với kiểu cổ
điển. Sử dụng đối tượng để lập trình nên những chuỗi tuơng tác. OOP giúp
cho các lập trình viên có thể tiết kiệm nhiều thời gian hơn so với cách
viết cổ điển.
Có thể hiểu cách lập trình OOP và bạn phải xây dựng được một loại
khuôn mẫu cho sản phẩm của bạn. Sau đó việc cần làm của bạn là đổ nguyên
liệu vào khuôn và đúc thành sản phẩm. OOP chính là cái khuôn đó.
Trong bài hôm nay chúng ta sẽ đi tìm hiểu về lập trình hướng đối
tượng trong PHP. Dưới đây là mô hình Hướng đối tượng cơ bản của một Page
khi truy xuất CSDL bằng OOP
Như vậy ta thấy được, trong mô hình trên, các thông tin từ Browser
sau khi được trang PHP tiếp nhận. Trang PHP sẽ tiếp tục sử dụng các lớp
đối tượng tuơng ứng. Khi các lớp đối tượng được gọi. Các lớp này sẽ sử
dụng một lớp khác có chức năng hoàn toàn khác để bổ trợ cho chính nó.
Quá trình hoạt động này sẽ đơn giản hóa, tự động hóa các thao tác làm
bằng code của lập trình viên. Cái bạn cần là cho phép đối tượng đó chạy ở
khu vực nào.
Trong bài này chúng ta sẽ đi qua các ví dụ đan xen trong lý thuyết để hiểu rõ hơn về các mô hình Class sẽ xây dựng.
I. Class
1. Khái niệm : Nghĩa đen là một LỚP. Ý nghĩa theo
lập trình là một đối tượng cơ bản chứa tất cả các thuộc tính và phương
thức của 1 đối tượng sẽ được tạo từ Class.
Để đỡ khó hiểu ta có thể xem Class kiểu như một lớp học. Trong lớp học sẽ có 2 loại phần tử. Tài sản và học sinh.
Tài sản : Là những vật dụng, dụng cụ học tập, bàn
ghế, bảng, phấn ….. Là những tài sản chung của nhiều lớp, lớp nào cũng
có những tài sản giống nhau như vậy. Không lớp nào có bàn mà không có
ghế, hoặc không thể có 1 lớp lại có hồ bơi ở giữa lớp ^^.
2. Khai báo :
3. Ví dụ :
4.Tầm vực biến trong Class : Như các bạn thấy, tại
sao sau khi khai báo các Class tôi phải khai báo các biến $id,
$fullname, $age …. Nếu không khai báo, khi sử dụng trong function
Set_value, các biến nội tại như $this->id … sẽ không nhận giá trị.
Như vậy tầm vực của biến nằm tại Class Members. Nếu không khai báo
các tầm vực, bạn sẽ không thể sử dụng được nó trong phạm vi các
function. Điều này bạn có thể thử các biến này để nhận được thông tin
lỗi.
II. Function In Class
Khái niệm về function thì ai trong ngành lập trình cũng đều biết, nói riêng PHP của chúng ta thì lại càng quan trọng.
Vậy tầm quan trọng của function nằm chỗ nào trong khi bạn cứ phải đi
khai báo function tè le hết trơn. Thực tế, khi viết các đoạn code của
PHP, bạn vẫn có thể không sử dụng function. Nhưng chính các công đoạn
quá nhiều trong lập trình web gây nảy sinh 1 vấn đề : “Code quá nhiều
những đoạn code giống nhau. Có quá nhiều những đoạn code giống nhau nằm
trong trang PHP”. Chính điều này làm cho trang PHP trở nên nặng nề hơn
về mặt code và mặt dung lượng file.
Tôi có một ví dụ thực tế về bài toán cộng trừ nhân chia. Với một phép
cộng, nếu tôi làm 1 phép tính thì đã chẳng có chuyện gì phải nói. Nhưng
nếu tôi làm khoảng 100.000 phép tính và phải ngồi code từng dòng thì e
rằng tôi sẽ chết trước khi code xong các phép tính này. Nhưng việc đó sẽ
được đơn giản hóa với Function và sử dụng một vòng lặp trong function
đó. Lúc này điều đơn giản tôi cần là nhập số đầu, số cuối và bấm kết quả
mà thôi. Nếu tôi tiếp tục tính một dãy những con số khác, thì lúc đó
function sẽ đảm nhiệm chạy lại các đoạn code của tôi đã code mà không
cần tôi phải thao tác ghi lại code cho phù hợp.
Ví như một ca sĩ, phục vụ cho nhiều người nghe, nếu mỗi người muốn
nghe họ phải hát lại 1 lần. Thì tôi tin người ca sĩ đó sẽ chết sớm hơn
tuổi thọ rất nhiều
) . Chính vì điều đó, Radio, máy hát, máy Mp3, thiết bị thu âm, thiết
bị phát âm thanh ra đời. Nhằm để tạo ra đựoc loại FUNCTION nào có thể
lặp bất cứ bài hát nào mặc dù chỉ hát một lần.
Phù vậy là đã nói xong những điều tàm xàm phía trên ) . Đùa chút thôi, như vậy qua ví dụ tôi đã giới thiệu được cho bạn hiểu tầm quan trọng của function trong Class.
Phân loại Function
a. Có giá trị trả về : Function chịu trách nhiệm xử lý dữ liệu và trả lại dữ liệu cho Process đang chờ đợi để lấy kết quả.
Như vậy tại một trang xử lý ta dễ dàng lấy được id của thành viên qua cấu trúc đã tạo cho function như sau :
Khi đó ta sẽ có được id của username “clackken” một cách dễ dàng thông qua function.
b. Không có giá trị trả về : Lúc này function sẽ
không trả lại giá trị cho biến khi được gọi. Chúng ta cùng xét lại ví dụ
trên với cách viết khác một chút, chúng ta sẽ sử dụng id là một tài sản
của Class.
Khi đó ta sẽ lấy giá trị trực tiếp từ Class, vì id khi này là một tài sản riêng của Class.
Qua 2 ví dụ trên, để bạn có thể hiểu hơn về phương thức của Class và
function. Bạn có thể đăng ký giá trị là tài sản của Class hoặc có thể
trực tiếp trả về cho biến tại trang sử dụng Class thông qua keyword return.
III. Class in Class
Đây là một khái niệm mà với những bạn mới đến với lập trình hướng đối
tượng sẽ bỡ ngỡ. Khi bạn chỉ hiểu gói gọn rằng Class chỉ là phương thức
thì khi đó bạn chưa thể tùy biến lồng các Class trong các Class khác để
cùng nhau xử lý dữ liệu.
Ví dụ sau sẽ mô tả rõ ràng điều này. Giả sử ta có 2 Class xử lý các
vấn đề riêng biệt. 1 Class xử lý về thành viên, một Class xử lý về
Order. Khi Order cần thông tin của thành viên để thêm vào CSDL. Lúc này
ta sẽ không thực hiện đơn phương thức này nữa. Mà sẽ sử dụng Class
Member như là một phương tiện.
Như vậy ta đã sử dụng Class member một cách an toàn trong Class khác được khai báo sau.
Nhưng thực sự đây chưa phải là cách hay để thực hiện cho phương án
trong Ví dụ này. Để cùng nhau hiểu hơn chúng ta sẽ tiếp tục tìm hiểu
trong phần 2 của bài 13 để xem có cách nào hay hơn là lồng 2 Class cho
ví dụ này không.
Kết luận phần 1
Nhưng vậy chúng ta đã cùng nhau tìm hiểu qua khá nhiều cách để truy xuất và cũng đã tập làm quen cách khai báo sử dụng Class.
Tôi định sẽ hoàn thành trong 1 phần, nhưng các kiến thức nếu nói hết
sẽ dẫn đến quá dài và gây sự mệt mỏi cho người đọc. Nên tôi quyết định
sẽ chia nhỏ phần này.
Mong các bạn sẽ hiểu hơn và yêu PHP hơn. Chúc các bạn học vui vẻ
programming). Là một phuơng hướng lập trình tách biệt so với kiểu cổ
điển. Sử dụng đối tượng để lập trình nên những chuỗi tuơng tác. OOP giúp
cho các lập trình viên có thể tiết kiệm nhiều thời gian hơn so với cách
viết cổ điển.
Có thể hiểu cách lập trình OOP và bạn phải xây dựng được một loại
khuôn mẫu cho sản phẩm của bạn. Sau đó việc cần làm của bạn là đổ nguyên
liệu vào khuôn và đúc thành sản phẩm. OOP chính là cái khuôn đó.
Trong bài hôm nay chúng ta sẽ đi tìm hiểu về lập trình hướng đối
tượng trong PHP. Dưới đây là mô hình Hướng đối tượng cơ bản của một Page
khi truy xuất CSDL bằng OOP
Như vậy ta thấy được, trong mô hình trên, các thông tin từ Browser
sau khi được trang PHP tiếp nhận. Trang PHP sẽ tiếp tục sử dụng các lớp
đối tượng tuơng ứng. Khi các lớp đối tượng được gọi. Các lớp này sẽ sử
dụng một lớp khác có chức năng hoàn toàn khác để bổ trợ cho chính nó.
Quá trình hoạt động này sẽ đơn giản hóa, tự động hóa các thao tác làm
bằng code của lập trình viên. Cái bạn cần là cho phép đối tượng đó chạy ở
khu vực nào.
Trong bài này chúng ta sẽ đi qua các ví dụ đan xen trong lý thuyết để hiểu rõ hơn về các mô hình Class sẽ xây dựng.
I. Class
1. Khái niệm : Nghĩa đen là một LỚP. Ý nghĩa theo
lập trình là một đối tượng cơ bản chứa tất cả các thuộc tính và phương
thức của 1 đối tượng sẽ được tạo từ Class.
Để đỡ khó hiểu ta có thể xem Class kiểu như một lớp học. Trong lớp học sẽ có 2 loại phần tử. Tài sản và học sinh.
Tài sản : Là những vật dụng, dụng cụ học tập, bàn
ghế, bảng, phấn ….. Là những tài sản chung của nhiều lớp, lớp nào cũng
có những tài sản giống nhau như vậy. Không lớp nào có bàn mà không có
ghế, hoặc không thể có 1 lớp lại có hồ bơi ở giữa lớp ^^.
2. Khai báo :
1 2 3 4 5 6 | //Khai báo Class class Name_of_Class{ ....................... } ?> |
3. Ví dụ :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
4.Tầm vực biến trong Class : Như các bạn thấy, tại
sao sau khi khai báo các Class tôi phải khai báo các biến $id,
$fullname, $age …. Nếu không khai báo, khi sử dụng trong function
Set_value, các biến nội tại như $this->id … sẽ không nhận giá trị.
Như vậy tầm vực của biến nằm tại Class Members. Nếu không khai báo
các tầm vực, bạn sẽ không thể sử dụng được nó trong phạm vi các
function. Điều này bạn có thể thử các biến này để nhận được thông tin
lỗi.
II. Function In Class
Khái niệm về function thì ai trong ngành lập trình cũng đều biết, nói riêng PHP của chúng ta thì lại càng quan trọng.
Vậy tầm quan trọng của function nằm chỗ nào trong khi bạn cứ phải đi
khai báo function tè le hết trơn. Thực tế, khi viết các đoạn code của
PHP, bạn vẫn có thể không sử dụng function. Nhưng chính các công đoạn
quá nhiều trong lập trình web gây nảy sinh 1 vấn đề : “Code quá nhiều
những đoạn code giống nhau. Có quá nhiều những đoạn code giống nhau nằm
trong trang PHP”. Chính điều này làm cho trang PHP trở nên nặng nề hơn
về mặt code và mặt dung lượng file.
Tôi có một ví dụ thực tế về bài toán cộng trừ nhân chia. Với một phép
cộng, nếu tôi làm 1 phép tính thì đã chẳng có chuyện gì phải nói. Nhưng
nếu tôi làm khoảng 100.000 phép tính và phải ngồi code từng dòng thì e
rằng tôi sẽ chết trước khi code xong các phép tính này. Nhưng việc đó sẽ
được đơn giản hóa với Function và sử dụng một vòng lặp trong function
đó. Lúc này điều đơn giản tôi cần là nhập số đầu, số cuối và bấm kết quả
mà thôi. Nếu tôi tiếp tục tính một dãy những con số khác, thì lúc đó
function sẽ đảm nhiệm chạy lại các đoạn code của tôi đã code mà không
cần tôi phải thao tác ghi lại code cho phù hợp.
Ví như một ca sĩ, phục vụ cho nhiều người nghe, nếu mỗi người muốn
nghe họ phải hát lại 1 lần. Thì tôi tin người ca sĩ đó sẽ chết sớm hơn
tuổi thọ rất nhiều
) . Chính vì điều đó, Radio, máy hát, máy Mp3, thiết bị thu âm, thiết
bị phát âm thanh ra đời. Nhằm để tạo ra đựoc loại FUNCTION nào có thể
lặp bất cứ bài hát nào mặc dù chỉ hát một lần.
Phù vậy là đã nói xong những điều tàm xàm phía trên ) . Đùa chút thôi, như vậy qua ví dụ tôi đã giới thiệu được cho bạn hiểu tầm quan trọng của function trong Class.
Phân loại Function
a. Có giá trị trả về : Function chịu trách nhiệm xử lý dữ liệu và trả lại dữ liệu cho Process đang chờ đợi để lấy kết quả.
1 2 3 4 5 6 7 8 9 10 11 |
|
Như vậy tại một trang xử lý ta dễ dàng lấy được id của thành viên qua cấu trúc đã tạo cho function như sau :
1 2 3 4 5 |
|
Khi đó ta sẽ có được id của username “clackken” một cách dễ dàng thông qua function.
b. Không có giá trị trả về : Lúc này function sẽ
không trả lại giá trị cho biến khi được gọi. Chúng ta cùng xét lại ví dụ
trên với cách viết khác một chút, chúng ta sẽ sử dụng id là một tài sản
của Class.
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Khi đó ta sẽ lấy giá trị trực tiếp từ Class, vì id khi này là một tài sản riêng của Class.
1 2 3 4 5 |
|
Qua 2 ví dụ trên, để bạn có thể hiểu hơn về phương thức của Class và
function. Bạn có thể đăng ký giá trị là tài sản của Class hoặc có thể
trực tiếp trả về cho biến tại trang sử dụng Class thông qua keyword return.
III. Class in Class
Đây là một khái niệm mà với những bạn mới đến với lập trình hướng đối
tượng sẽ bỡ ngỡ. Khi bạn chỉ hiểu gói gọn rằng Class chỉ là phương thức
thì khi đó bạn chưa thể tùy biến lồng các Class trong các Class khác để
cùng nhau xử lý dữ liệu.
Ví dụ sau sẽ mô tả rõ ràng điều này. Giả sử ta có 2 Class xử lý các
vấn đề riêng biệt. 1 Class xử lý về thành viên, một Class xử lý về
Order. Khi Order cần thông tin của thành viên để thêm vào CSDL. Lúc này
ta sẽ không thực hiện đơn phương thức này nữa. Mà sẽ sử dụng Class
Member như là một phương tiện.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|
Như vậy ta đã sử dụng Class member một cách an toàn trong Class khác được khai báo sau.
Nhưng thực sự đây chưa phải là cách hay để thực hiện cho phương án
trong Ví dụ này. Để cùng nhau hiểu hơn chúng ta sẽ tiếp tục tìm hiểu
trong phần 2 của bài 13 để xem có cách nào hay hơn là lồng 2 Class cho
ví dụ này không.
Kết luận phần 1
Nhưng vậy chúng ta đã cùng nhau tìm hiểu qua khá nhiều cách để truy xuất và cũng đã tập làm quen cách khai báo sử dụng Class.
Tôi định sẽ hoàn thành trong 1 phần, nhưng các kiến thức nếu nói hết
sẽ dẫn đến quá dài và gây sự mệt mỏi cho người đọc. Nên tôi quyết định
sẽ chia nhỏ phần này.
Mong các bạn sẽ hiểu hơn và yêu PHP hơn. Chúc các bạn học vui vẻ
it24seo24- Đại tướng cấp 1
- Tổng số bài gửi : 434
Points : 1093
Reputation : 8
Join : 01/09/2011
Game
2:
(2/2)
Similar topics
» Ebook dạy cách Thu thập thông tin về quá trình và xu hướng mua hàng của khách hàng
» Hướng dẫn - Tạo các nút công cụ bookmark trang vào trình duyệt, các mạng xã hội và in trang
» 14 add-on và mẹo hữu ích cho trình duyệt
» Cần bán nhà đường Trịnh Văn Cấn, P.Cầu Ông Lãnh, quận 1
» Quy trình thực hiện SEO của webshock
» Hướng dẫn - Tạo các nút công cụ bookmark trang vào trình duyệt, các mạng xã hội và in trang
» 14 add-on và mẹo hữu ích cho trình duyệt
» Cần bán nhà đường Trịnh Văn Cấn, P.Cầu Ông Lãnh, quận 1
» Quy trình thực hiện SEO của webshock
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
Tue Jul 28, 2015 10:41 pm by wm1933
» Hakoiri Shoujo: Virgin Territory, anime hentai 18+ , vietsub by Baka-sub
Fri Feb 14, 2014 12:37 pm by jake9x
» Learn English Vocabulary - GRE (145 Lesson / 5') part1
Fri Nov 22, 2013 11:37 am by tien02ltck2
» BEN 10 [Mediafire + vietsub ]
Thu Sep 19, 2013 11:39 am by cucphamdangian
» Panty Flash Teacher, hoạt hình người lớn 18+ , vietsub by Baka-sub
Wed May 01, 2013 2:48 pm by lahan42012
» Game Ninja Legend of Kage (Free) dành cho Smartphone Android và Tablet…
Tue Oct 30, 2012 9:38 am by thejovialman
» Bán website nông nghiệp
Wed Oct 03, 2012 6:25 am by mshuong
» Anime NARUTO 50 MB/ep + SS1+SS2+ 7 The Movie, update thường xuyên!!!
Tue Sep 25, 2012 6:46 am by dionelam
» Viết ứng dụng Facebook
Mon Sep 24, 2012 5:13 pm by it24seo24