text:
Xây dựng lớp và phương thức trong C Sharp
Như chúng ta đã biết, C Sharp là ngôn ngữ lập trình hướng đối
tượng, chính vì thế việc tạo ra các đối tượng trong 1 chương trình
viết bằng C Sharp là điều không thể thiếu; vậy làm thế nào để tạo
ra các đối tượng mong muốn khi cần sử dụng chúng trong chương trình
của mình? đơn giản thôi ! bạn chỉ việc xây dựng lớp trong chương
trình là có thể tạo ra đối tượng bất cứ khi nào cần đến. Vậy
lớp là gì ?!, trong tiếng anh, thuật ngữ này có tên là class và việc dịch ra tiếng việt như tôi đã
dịch ở trên xem ra có vẻ “thô kệch” và “khó
liên tưởng” (Nhất là đối với những bạn mới bắt đầu tiếp
xúc với lập trình hướng đối tượng) chính vì thế chúng ta sẽ
dùng từ “nguyên bản” : class.
Class có thể được xem như những “khuôn mẫu” được định
nghĩa trong chương trình của bạn để “đúc” ra những đối
tượng cần thiết; cũng giống như trên thực tế, trong lĩnh vực hàng gia
dụng, để “đúc” ra những đôi dép bán cho người tiêu dùng sử
dụng, nhà sản xuất sẽ phải chế tạo, thiết kế ra các “khuôn
mẫu” cần thiết cho loại dép sẽ sản xuất, sau đó dựa vào nguyên
liệu và khuôn mẫu đã chế tạo sẽ sản xuất ra các sản phẩm là những
đôi dép cung cấp cho thị trường tiêu dùng.
Trong lập trình hướng đối tượng cũng vậy, bạn cần phải định
nghĩa Class như là những khuôn mẫu
cần thiết để có thể sản xuất ra các đối tượng sẽ dùng đến cho mục
đích nào đó trong chương trình của mình. Trong minh họa ở trên, hạt
nhựa chính là nguyên liệu để tạo ra sản phẩm là những đôi dép, trong
chương trình của bạn thì nguyên liệu để tạo ra đối tượng chính là
dữ liệu. Dữ liệu ở đây có thể là các kiểu dữ liệu cơ bản (Primitive
data type) mà C Sharp cung cấp hoặc cũng có thể là những kiểu dữ
liệu đặc biệt do bạn tạo ra như Struct, Enum hay những Class
khác cần dùng cho việc lưu trữ thông tin trong Class muốn xây
dựng.
Liên tưởng
Hãy tưởng tượng !. Bạn sẽ viết 1 chương trình mô tả cho trò
chơi đua xe để thỏa mãn “đam mê tốc độ”, như vậy bạn cần phải
tạo ra 1 Class có tên là “XeHoi” để ứng với n người chơi, chương trình
của bạn sẽ tạo ra n chiếc xe hơi khác nhau phục vụ người chơi sử
dụng.
Hoặc giả như bạn sẽ xây dựng 1 ứng dụng phục vụ cho nhu cầu “đấm
đá” (Nói vui vậy cho đỡ buồn ngủ), các nhân vật trong chương
trình của bạn là những chiến binh cho phép người chơi điều khiển khi
tham gia trò chơi – Chắc chắn bạn cũng phải tạo ra 1 Class : “ChienBinh”
… và vào thời điểm bắt đầu chơi, người dùng sẽ chọn chiến binh đại
diện cho mình, chương trình sẽ thông qua đặc điểm của chiến binh mà
người chơi lựa chọn (dưới dạng hình vẽ trong chương trình của bạn
cung cấp) để tạo ra đối tượng tương ứng. Dĩ nhiên những chiến binh
này tùy thuộc theo ý thích của từng người mà sẽ có những đặc điểm
khác nhau, việc nhận dạng và thể hiện các chiến binh khác nhau trong
chương trình của bạn chủ yếu dựa vào dữ liệu chính là thông tin mà
người chơi lựa chọn và hình ảnh mà bạn cung cấp trong chương trình
Đến đây, chắc bạn đã hiểu về khái niệm Class trong lập trình hướng đối tượng. Vậy
khi xây dựng Class trong chương trình,
chúng ta phải bắt đầu từ đâu ?. Câu trả lời là không khó, cũng giống
như loài người qua hàng ngàn năm tiến hóa đã đẻ ra hàng ngàn phát
minh, hầu như tất cả những phát minh này đều là để phục vụ cho cuộc
sống và phát triển của con người, nói chung là dựa vào nhu cầu
mà có.
Trong lập trình cũng vậy, trước khi xây dựng chương trình, bạn
thường phải thiết kế dựa trên những ý tưởng nào đó. Giả dụ trong
Game về đua xe, người chơi được phép chọn xe có màu gì, ứng với loại
xe đó thì tốc độ di chuyển là bao nhiêu, xe đó phải xử dụng nhiên
liệu là xăng, dầu hay gas … Hoặc giả như với game “Đấm đá” ỏ trên,
chiến binh của người chơi có thể sẽ có chiều cao, cân nặng, hình
dáng như thế nào, và giả sử các chiến binh trong chương trình của
bạn đều có khả năng đấm, đá, phi thân khỏi mặt đất thì ứng với mỗi
thể trạng của chiến binh mà cú đấm, cú đá ảnh hưởng ra sao đến đối
thủ, phi thân có thể cao hay thấp …
Đến đây, thực sự tôi muốn dẫn đắt bạn đến một số vấn đề cơ
bản cần có trong class của lập
trình hướng đối tượng. Đó chính là properties (thuộc tính)
và method (phương thức), mỗi chiếc xe có thể có màu sơn
khác nhau, sử dụng nguyên liệu khác nhau : đây chính là các properties
cần có trong class “xeHoi” ở trên. Mỗi chiến binh có chiều cao,
cân nặng, hình dáng khác nhau : đây chính là những properties
cần xây dựng trong class “chienBinh”.
Mỗi loại xe có thể di chuyển tốc độ khác nhau trên mỗi loại địa
hình, mỗi loại xe có ưu thế khác nhau khi vào cua tại những khúc
quanh có góc mở khác nhau … tốc độ, khả năng vào cua theo địa hình
chính là method cho class “xeHoi”. Mỗi chiến binh có cú đá, cú đấm
khác nhau hay khả năng của mỗi chiến binh khi phi thân là cao hay thấp,
như vậy các khả năng đá, đấm và phi thân được xem như method của
class “chienBinh”.
Hãy nhớ !. Khi xây dựng class
trong C Sharp, bạn phải định nghĩa các properties cùng với method
cần thiết để có thể sử dụng cho đối tượng của mình trong chương
trình.
Cú pháp tạo class
class <tên_class>{
<kieu_dl>
<bien_thanh_vien>;
…
<phương_thức>(tham_số, …)
}
Theo như cú
pháp trên, chúng ta sẽ cùng làm một số ví dụ tạo class theo những yêu cầu dưới đây để hiểu rõ
hơn về cú pháp
- VD1:
Định nghĩa
1 class dùng để chứa thông tin về
hình tròn trong chương trình với các thông tin lưu trữ mô tả cho các
đặc điểm sau của hình tròn : bán kính, màu sắc, hình rỗng hay đặc.
Class hinhTron{
float _banKinh; //--- Bán kính của hình tròn
int _mau; //--- Màu của hình tròn
bool _hinhRong; //--- Nếu rỗng :true, ngược lại là false
}
- VD2:
Định nghĩa
1 class dùng cho mục đích chứa thông
tin về học sinh cần quản lý trong chương trình với các thông tin lưu
trữ mô tả cho các đặc điểm sau: mã số học sinh, họ tên, giới tính,
số điện thoại, năm sinh.
Class hocSinh{
int _maHS; //--- mã số của học sinh
string _hoTen; //--- họ tên của học sinh
bool _gioiTinh; //--- Nếu nam :true, ngược lại là false
long _soDT //--- Số điện thoại cá nhân
int _namSinh //---
Năm sinh của học sinh
}
- VD3:
Định nghĩa
1 class dùng cho mục đích chứa thông
tin của các phân số phục vụ cho việc giải các bài toán trong chương
trình với các thông tin lưu trữ: tử số, mẫu số.
Class phanSo{
int _tuSo; //--- mã số của học sinh
int _phanSo; //--- họ tên của học sinh
}
Qua các ví
dụ ở trên, chúng ta mới chỉ đơn thần là tạo ra Class để lưu trữ thông tin dựa vào các biến
thành phần đã khai báo. Nếu tạo ra đối tượng của các lớp này thì
chúng đơn thuần chỉ dùng để lưu trữ thông tin, điều này cũng giống
như 1 người được sinh ra trên thế gian này ngoài việc có thể chứa
được thức ăn ở trong bụng thì chẳng biết làm gì cả (có vẻ như
hơi vô dụng nhỉ !). Một thành tố gần như không thể thiếu trong mỗi
Class được định nghĩa chính là method,
method được xem như là khả năng trang bị cho object của Class để nó có thể xử lý những thông tin có
liên quan đến mình.
Method
Phương
thức, hàm (method) là tập hợp các lệnh dùng để xử lý thông
tin cho 1 mục đích nào đó, thông thường phương thức được tạo ra và
được đặt tên để có thể gọi sử dụng thông qua đối tượng của Class. Cú pháp để định nghĩa 1 phương thức
được mô tả như sau:
<access_modifier>
<return_type> <Method_Name> ([list_of_parameter]){
…
<lệnh> ;
…
}
Trong đó :
<access_modifier> : chính là phạm vi (còn
gọi là tầm vực) truy xuất của phương thức trong chương trình.
<return_type> : là kiểu dữ liệu mà sau khi thi
hành, hàm sẽ trả về giá trị thuộc kiểu đã khai báo cho nơi gọi
<method_name> : tên của phương thức, hàm. Tên
của phương thức khi đặt phải tuân theo quy ước về đặt tên cho danh định
trong chương trình.
[list_of_parameter] : chính là danh sách các tham
số tượng trưng cho dữ liệu sẽ truyền vào trong hàm để xử lý khi gọi
nó.
Lưu ý: Tên của hàm khi đặt phải tuân
theo các yêu cầu sau:
-
Không được
trùng với từ khóa thuộc ngôn ngữ C Sharp
-
Không được có
khoảng trắng
-
Không được
bắt đầu bởi ký số
-
Chỉ có thể
bắt đầu bởi ký tự, dấu gạch dưới hoặc dấu @
Bảng mô tả một số tình huống đặt tên method
Tên method
Diễn giải đối với tên đặt sai
@them()
bool()
Sai vì trùng tên với từ khóa trong C Sharp
Di chuyen(int x, int y)
Sai vì tên hàm có khoảng trắng
cong_Hai_So(float a, float b)
_tinhHoanhDo()
5lan(int x)
Sai vì tên hàm này bắt đầu bởi ký số
Lý thuyết là chuẩn mực và mang tính tổng quát, chính vì thế
có thể bạn sẽ thấy cú pháp hơi rắc rối. Đừng lo, chúng ta sẽ cùng
làm một số ví dụ về việc định nghĩa phương thức, bạn sẽ thấy nó
rất đơn giản.
Vd 1:
Hãy
định nghĩa trong Class hinhTron 1 phương
thức cho phép tính và trả về chu vi của hình tròn
public float chuVi(){
return 2 * 3.14 * _banKinh;
}
Vd 2:
Hãy
định nghĩa trong Class hocSinh 1 phương
thức cho phép xuất thông tin đầy đủ của đối tượng học sinh
public void xuatThongTin(){
console.WriteLine(“Mã học sinh : {0}”,_maHS);
console.WriteLine(“Họ và tên :
{0}”,_hoTen);
console.WriteLine(“Giới tính :
{0}”, (_gioiTinh==true?”Nam”:”Nữ”);
console.WriteLine(“Số điện thoại
: {0}”,_soDT);
console.WriteLine(“Năm sinh :
{0}”,_namSinh);
}
Vd 3:
Hãy
định nghĩa trong Class phanSo 1 phương
thức cho phép xuất ra thông tin của đối tượng phân số hiện hành
public void inPhanSo(){
console.WriteLine(“ {0} / {1}”, _tuSo,
_mauSo);
}
Tạo và sử dụng
đối tượng
Như đã
giới thiệu trong phần trước, đối tượng (Object) chính là 1 thể hiện
của Class chính vì thế trong C Sharp,
muốn tạo 1 đối tượng của 1 Class đã
định nghĩa trong chương trình, bạn chỉ việc sử dụng từ khóa new theo
cú pháp như sau:
<tên_Class>
<ten_Object> = new
<ten_Class>();
Ví dụ: để
tạo ra 1 Object của Class hình tròn
đã định nghĩa, bạn chỉ việc dùng lệnh như sau
hinhTron h1 = new hinhTron();
Để tạo 1
Object của Class hocSinh ta có thể
dùng lệnh theo của pháp như thế này
hocSinh hs = new hocSinh();
Khi đã có
Object của Class, để gọi Method đã
định nghĩa trong Class bạn chỉ việc
gọi thông qua đối tượng của Class là
Method đó sẽ thực thi những câu lệnh mà bạn đã sắp đặt.
Ví dụ 1:
để tính chu vi của Object h1 và xuất ra màn hình tôi sẽ sử dụng lệnh
như sau
float
ketQua = h1.chuVi();
console.WriteLine(“Chu vi tính được = {0}”,
ketQua);
Ghi chú: trong ví dụ trên, chắc bạn sẽ
rất thắc mắc vậy chu vi tính được sẽ in ra màn hình là bao nhiêu,
trong khi trong method chuVi chúng ta đã dùng công thức “2 *
3.14*_banKinh” và trong đó _banKinh chưa biết có giá trị nào. Bạn cứ yên tâm, chúng ta còn cần phải
có thêm 1 số kiến thức nữa thì việc mô tả code sẽ tường minh hơn,
tạm thời bạn cứ chấp nhận như vậy, biến _banKinh bằng bao nhiêu
thì sẽ được tính đúng với giá trị mà nó đang có theo công thức mà
chúng ta đã sử dụng
Ví dụ 2:
để in ra thông tin của Object hs tôi sẽ sử dụng lệnh như sau
hs.xuatThongTin();
Như vậy, chúng ta thấy rằng trong lập trình hướng
đối tượng, nếu muốn gọi thực thi 1 hàm, 1 phương thức nào đó thì
bắt buộc bạn phải có 1 thể hiện của Class
và lúc này chúng ta có thể gọi hàm thông qua Object của Class đó.
Tuy nhiên có 1 trường hợp đặc
biệt cho phép bạn có thể gọi hàm mà không cần thông qua đối tượng,
trường hợp này chúng ta sẽ đề cập đến static
method ở phía sau.
Static methods
Như vừa đề cập đến ở trên, mặc nhiên trong C Sharp
thì một phương thức chỉ có thể gọi thông qua Object thuộc Class và điều này sẽ trở nên khó
khăn khi lập trình viên muốn xây dựng trong chương trình 1 phương thức
để dùng chung cho mọi tình huống
Ví dụ: bạn cần viết 1 phương thức để nạp thông tin từ 1
tập tin ở trên đĩa, nếu như theo cách trên thì ứng với tất cả các Class trong chương trình có nhu cầu nạp thông
tin từ File cho Object của nó, bạn phải xây dựng tất cả các phương
thức nạp File cần thiết … và điều này có vẻ như hơi lãng phí, giống
như làm khó cho người viết code vậy mặc dù bạn có thể sao chép Code
của phương thức cần thiết đến nhiều nơi nhưng điều này cũng vẫn là
trở ngại lớn cho lập trình viên nhất là khi cần phải điều chỉnh lại
giải thuật cho những đoạn code này
Để giải quyết sự bất cập này, C Sharp cung cấp cho bạn 1 cách
để định nghĩa Method để khi cần, có thể gọi sử dụng những Method đó
1 cách thuận tiện mà không cần phải thông qua Object; đó chính là Static method.
Việc định nghĩa static method trong chương trình chẳng có nhiều khác
biệt so với việc định nghĩa method thông thường, bạn chỉ việc thêm
vào trước phần khai báo method từ khóa static
và <access_modifier> phải sử dụng là public
là đủ (Chúng ta sẽ làm quen với ý nghĩa của access_modifier ở phí
sau).
Cú pháp
static <access_modifier>
<return_type> <Method_Name> ([list_of_parameter])
{
…
<lệnh> ;
…
}
Ví dụ: Chúng ta cần viết 1 hàm để tính bình phương của 1 số và
hàm này có thể gọi ở bất cứ đâu trong chương trình mà chẳng cần phải
thông qua Object.
static long binhPhuong(long so){
return so*so;
}
Vậy với static method, chúng ta sẽ gọi sử dụng ra sao ? C Sharp
cho phép bạn gọi trực tiếp thông qua tên của Class có chứa nó
<class_name>.<static_method>(parameter, …);
Ví dụ : Chúng ta sẽ viết 1 chương trình cho phép tính diện
tích và chu vi của các hình tròn, hình vuông. Trong đó ta sẽ xây
dựng phương thức tĩnh binhPhuong để tính bình phương cho các số
truyền vào khi gọi hàm này. Chương trình được viết như sau:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace tinhToanCacHinh
{
class tinhToan{
public static
float binhPhuong(float
a){
return a * a;
}
}
class hinhTron{
float _banKinh;
/// <summary>
///
Hàm khởi tạo 1 tham số của lớp hình tròn
/// </summary>
/// <param name="gt"></param>
public hinhTron(float gt){
_banKinh = gt;
}
public float
dienTich(){
return tinhToan.binhPhuong(_banKinh);
}
}
class hinhVuong{
long _canh;
/// <summary>
///
Hàm khởi tạo 1 tham số của lớp hình vuong
/// </summary>
/// <param name="gt"></param>
public hinhVuong(long gt){
_canh = gt;
}
public float
dienTich(){
return tinhToan.binhPhuong(_canh);
}
}
class Program
{
static void
Main(string[] args)
{
hinhTron h1 = new hinhTron(5);
hinhVuong h2 = new hinhVuong(9);
Console.WriteLine("Diện tích hình tròn {0}",
h1.dienTich());
Console.WriteLine("Diện tích hình vuông {0}",
h2.dienTich());
Console.ReadLine();
}
}
}
Ghi chú:
-
Tôi tạo 1
project có tên tinhToanCacHinh trong visual Studio, và mặc nhiên thì
VS tự động cung cấp cho tôi 1 nameSpace trùng tên với tên của project và
tự động tạo ra 1 class chính cho project này với tên là program.cs
-
Bạn thấy
trong tập tin có tên trùng tên với Class
chính của chương trình là program.cs, tôi tạo ra 3 Class khác có tên là tinhToan, hinhVuong,
hinhTron. Thông thường thì trong C Sharp cứ ứng với 1 Class được tạo ra trong chương trình sẽ được lưu
trữ trên đĩa trong 1 file trùng tên với tên Class
cần tạo. Tuy nhiên bạn vẫn có thể chứa nhiều Class trong 1 tập tin (như cách làm ở trên) và như
vậy thì người ta thường gọi bằng thuật ngữ “sub Class”, điều
này là hợp lệ, tuy nhiên sau này nếu bạn đã trở thành lập trình
viên, bạn nên hạn chế việc xây dựng “sub Class” giống như ví dụ
của tôi trong chương trình của mình, sở dĩ trong ví dụ tôi làm như
thế để giúp bạn nhìn code đỡ rắc rối hơn mà thôi.
-
Trong các
method dùng để tính diện tích của Class
hinhTron và Class hinhVuong tôi đã truy
xuất đến Static method có tên binhPhuong thông qua tên của Class có chứa nó theo như cú pháp đã mô tả
: tinhToan.binhPhuong(_canh)
Static varialbe
Ứng với phương thức tĩnh
(static method), C Sharp cho phép bạn có thể định nghĩa các biến thành
viên thuộc dạng static để sử dụng
và thường thì biến static được dùng
cho mục đích chia sẻ thông tin của Class
đối với tất cả các Object thuộc về Class
tương ứng. Ví dụ tại một thời điểm nào đó bạn cần theo dõi trong
chương trình có bao nhiêu đối tượng của Class
X đã được tạo ra, trong tình huống này thì việc sử dụng 1 static variable
là hợp lý nhất.
Access modifiers
Thuật ngữ này thường được
dịch ra trong 1 số sách dạy lập trình bằng tiếng việt là bổ từ, vậy
Access modifiers có ý nghĩa như thế nào ? cách sử dụng ra sao ?. Trong
lập trình hướng đối tượng, Access modifiers là thuật ngữ dùng để ám
chỉ một số từ khóa đặc biệt dùng để khai báo cho Class, Method hay
Variable nhằm chỉ ra phạm vi sử dụng cũng như mức độ ảnh hưởng của
nó trong chương trình của bạn, tôi tạm gọi là tầm vực của đối tượng
sử dụng nó để khai báo (tầm vực : tầm ảnh hưởng, phạm vi
hay khu vực mà đối tượng được khai báo có thể tác động đến).
Những Access modifiers mà bạn có thể sử dụng cho việc khai báo trong
chương trình của mình bao gồm:
-
public : dùng để khai báo những đối
tượng mang tính “công cộng”, có thể truy xuất hay gọi sử
dụng từ bên ngoài Class, Assembly hay Namespace
-
private : là từ khóa để chỉ ra rằng
đối tượng mà bạn khai báo là riêng tư, chỉ có thể sử dụng bên trong
nội tại của nơi mà nó khai báo mà thôi.
-
protected : từ khóa này thường cũng
tương tự như private, tuy niên phạm vi ảnh hường của nó lớn hơn private
và có liên quan đến thừa kế trong lập trình hướng đối tượng (tôi
sẽ lý giải về từ khóa này kỹ hơn trong bài viết nói về thừa kế,
bạn hãy chờ nhé)
-
internal : đây là từ khóa cho phép khai
báo để cho phép truy xuất trong phạm vi các lớp thuộc cùng Assembly
của chương trình.
Có lẽ tới đây, bạn cảm thấy
các lý giải ở trên dường như rất mơ hồ !, tôi xin giúp bạn liên tưởng
thế này : trong nhà bạn, phòng khách là nơi mà mọi thành viên trong
gia đình đều có thể sử dụng nó như nhau => khi xây dựng, phòng
khách đã được khai báo là “public”. Trong
phòng của bạn, những đồ vật như bàn ghế, chăn mền, … chỉ dành cho
bạn sử dụng mà thôi, các thành viên khác không được phép => bàn
ghế, chăn mền … trong phòng của bạn đã được khai báo là “private” (cái bóp trong túi bạn cũng là private, mọi người xung quanh đều không có
quyền lục bóp của bạn để lấy tiền đấy !!!). Protected thì thế này, ba mẹ bạn mua 1 chiếc
xe SH làm phương tiện đi lại, khi cần thì bạn hay anh chị em trong gia
đình đều có thể sử dụng chiếc xe đó, … nhưng anh bạn hàng xóm của
bạn thì không được phép sử dụng chiếc SH đó, có thể nói chiếc SH
của gia đình bạn đã được khai báo là protected.
Internal thì lại khác; trong 1 căn
phòng, mọi đồ vật như bàn ghế, người, tủ, … đều có thể nhận ánh sách
từ chiếc bóng đèn treo trên trần nhà, trong tình huống này thì mọi
đồ vật và người trong căn phòng được xem như là các Class khác nhau và Assembly chính là căn
phòng thì bóng đèn gắn trên trần nhà được xem như là đã được khai
báo Access modifier với từ khóa internal
rồi đó.
Bảng mô tả tầm ảnh hưởng của
Access Modifiers
Có thể truy xuất trong phạm
vi chương trình
Có thể truy xuất trong phạm
vi của lớp chứa khai báo
Có thể truy xuất từ các lớp
thừa kế của lớp chứa khai báo
public
þ
private
ý
protected
internal
Vấn đề truyền tham
số cho hàm trong C Sharp
Như cú pháp khai báo dành cho method đã đề
cập ở mục trước, ta thấy method có thể có tham số truyền vào hoặc
không có. Vậy chính xác tham số là gì ?, tại sao phải có tham số ?
Nếu không có tham số cũng được thì khi xậy dựng method tôi không dùng
tham số cho tất cả các method được không ?. Tôi xin diễn giải để trả
lời các câu hỏi trên thông qua 1 số ý như sau
-
Theo định
nghĩa, tham số là tập hợp các dữ liệu cần có để cung cấp cho hàm
xử lý tại thời điểm mà hàm được gọi. Ví dụ như việc sử dụng xe
gắn máy để di chuyển, hôm nay tôi chỉ có tiền để đổ vào bình 1 lít
xăng, như thế trong ngày hôm nay tôi chỉ có thể dùng xe gắn máy di
chuyển trong phạm vi tối đa là 50 km (giả sử 1 lít xăng thì xe của
tôi có thể di chuyển trong phạm vi 50Km), hôm qua tôi có thể đổ
được 3 lít, có nghĩa là ngày hôm qua tôi có thể dùng xe gắn máy di
chuyển được tối đa 150 Km; hoặc giả là ngày mai, tôi cần phải di
chuyển trong phạm vi 250Km thì trước khi di chuyển tôi phải đổ vào
bình xăng 5 lít. Trong tình huống này, tôi muốn bạn liên tưởng đến
chiếc xe của mình như là phương thức trong lập trình, lượng xăng đổ
vào bình chính là tham số cung cấp cho phương thức đó và ứng với dữ
liệu cung cấp khác nhau (lượng xăng đổ vào bình) thì khả năng
hoạt động của hàm để đưa ra kết quả cũng sẽ khác nhau.
-
Như vậy việc
có hay không có tham số còn tùy thuộc vào mục tiên hoạt động và nhu
cầu sử dụng của method tương ứng, nhớ lại 3 method mà tôi đã minh họa
trong phần trước : chuVi(); xuatThongTin(); inPhanSo()
tôi đều không sử dụng tham số vì những hàm này khi hoạt động dựa
trên dữ liệu nội tại của đối tượng. Trong khi đó hàm binhPhuong(long so) có 1 tham số và tùy theo số truyền
vào mỗi thời điểm mà hàm này sẽ tính và trả về giá trị cho thích
hợp. Rõ ràng việc có hay không có tham số còn tùy thuộc vào mục
tiêu hoạt động của hàm, tuy nhiên việc sử dụng tham số sẽ làm cho
khả năng xử lý thông tin của hàm được linh hoạt hơn (Nhưng bạn cũng không nên quá
lạm dụng tham số cho hàm vì đôi khi sẽ trở thành mình tự làm khó
chính mình)
Trong C Sharp, tham số truyền cho hàm theo cách
mặc nhiên được gọi là truyền tham trị (Tham số truyền vào như là những
giá trị cung cấp cho hàm). Hãy khảo sát 1 ví dụ sau
private float tinhToan(float
a, float b){
float c = 0;
a ++;
b --;
c = a – b;
return c;
}
Về thuật toán thì hàm này chẳng có ý nghĩa
gì đặc biệt, tôi chỉ đơn thuần dùng nó để mô tả cho ý nghĩa tham
trị của các tham số a và b mà thôi.
Như bạn thấy, khi hàm này được gọi, nó sẽ
thực hiện lần lượt các công việc sau
+ khai báo và khởi gán biến c
+ tăng giá trị của tham số a
+ giảm giá trị của b
+ tính hiệu số giữa a và b và trả về kết quả tính
được cho nơi gọi hàm
Sau khi tìm hiểu đến đây, bạn vẫn chẳng thấy
việc mô tả cho ý nghĩa truyền tham trị là nằm ở đâu. Đúng thế, mới
chỉ có nội dung của hàm vẫn chưa thể làm rõ được ý nghĩa của tham
trị sử dụng, bây giờ tôi thêm 1 đoạn code để mô tả cho việc gọi sử
dụng hàm này từ bên trong 1 hàm khác như sau
float s1 = 7;
float s2 = 3;
float s3 = tinhToan(s1,s2);
console.WriteLine(“Số thứ nhất :
{0}”,s1);
console.WriteLine(“Số thứ hai : {0}”,s2);
console.WriteLine(“Kết quả = {0}”,s3);
Theo bạn, sau khi thi hành kết quả sẽ in ra trên màn hình thế
nào ?. Kết quả như sau
Số thứ nhất: 7
Số thứ hai: 3
Kết quả = 6
Có lẽ bạn sẽ cảm thấy hơi lạ phải không ?
rõ ràng tại vị trí của tham số thứ nhất truyền vào, bên trong hàm
sẽ tăng giá trị của nó lên 1 và giảm giá trị của tham số thứ 2
xuống 1 nhưng sao in ra vẫn là 7 và 3 nhỉ ?. Câu trả lời nằm ở đây,
theo như mặc định, truyền tham số như ví dụ minh họa này thì sẽ được
xem như cách truyền tham trị, việc tính toán trong hàm không làm
ảnh hưởng tới giá trị của biến tại nơi gọi hàm
Trong những tình huống nhất định nào đó, lập
trình viên mong muốn việc tính toán bên trong hàm cần phải làm thay
đổi giá trị và ảnh hưởng đến biến sử dụng làm tham số cho hàm tại
thời điểm mà hàm được gọi. Để đáp ứng điều này, C Sharp cung cấp
cách truyền dạng tham chiếu (reference) để sử dụng cho tham số
của hàm thông qua các từ khóa “ref”
và “out”.
Về nguyên tắc thì 2 từ khóa này dùng để khai
báo cho các tham số thuộc hàm nhằm ám chỉ những tham số này được
truyền dưới dạng tham chiếu, trong tình huống này thay vì truyền giá
trị vào cho hàm, địa chỉ của ô nhớ chứa biến giá trị được truyền
vào để chương trình lấy dữ liệu từ ô nhớ tương ứng ra tính toán
đồng thời thay đổi giá trị (nếu có) của chính ô nhớ đó,
chính vì thế sau khi thi hành phương thức, giá trị ô nhớ ban đầu rất
có thể bị biến đổi do các lệnh trong hàm tác động vào.
Cách sử dụng từ khóa “ref”
private float tinhToan(ref float a, ref
float b){
float c = 0;
a ++;
b --;
c = a – b;
return c;
}
Và lúc này, trong 1 hàm khác nếu bạn gọi sử
dụng hàm tính toán thì sẽ gọi hàm theo cách như sau
float s1 = 7;
float s2 = 3;
float s3 = tinhToan(ref s1,ref
s2);
console.WriteLine(“Số thứ nhất :
{0}”,s1);
console.WriteLine(“Số thứ hai :
{0}”,s2);
console.WriteLine(“Kết quả = {0}”,s3);
Bây giờ, sau khi thi hành kết quả sẽ in ra trên màn hình như sau
Số thứ nhất: 8
Số thứ hai: 2
Kết quả = 6
Trong
tình huống này, bạn thấy tại nơi gọi hàm tinhToan, từ khóa ref cũng phải truyền vào cùng với biến
dùng cho tham số tại vị trí tương ứng.
Việc sử dụng từ khóa out cho
mục đích truyền tham số đối với tham số của hàm cũng giống như sử
dụng từ khóa ref ở trên, khác biệt
duy nhất là tham chiếu truyền bằng từ khóa ref
thì bạn phải khởi gán giá trị trước khi truyền vào (Đây là quy
ước mặc nhiên của C Sharp – tất cả các biến trong chương trình đều phải khởi
tạo trước khi sử dụng) còn với từ khóa out thì ngược lại, biến truyền vào theo
hình thức này phải là 1 biến nguyên thủy sau khi khai báo (tức là
khai báo nhưng không khởi tạo giá trị cho biến)
Cách sử dụng từ khóa “out”
private float bienDoi(out float x, out
float y){
float z = 0;
x =5;
y = (x + 2);
z = (x + y);
return z;
}
float s1;
float s2;
float s3 = bienDoi(out s1,out
s2);
console.WriteLine(“Số thứ nhất :
{0}”,s1);
console.WriteLine(“Số thứ hai :
{0}”,s2);
console.WriteLine(“Kết quả = {0}”,s3);
Bây giờ, sau khi thi hành kết quả sẽ in ra kết quả như sau
Số thứ nhất: 5
Số thứ hai: 7
Kết quả = 12
Kỹ thuật
overloading
Đôi khi trong quá trình xây dựng ứng dụng, bạn
cần phải xây dựng hàm cho một mục đích nào đó nhưng lại phải xử lý
cho quá nhiều tình huống khác nhau; ví dụ như thế này: ta cần xây
dựng 1 hàm cho phép cộng hai số với nhau, tuy nhiên trong các tình
huống sử dụng khác nhau thì kiểu dữ liệu của tham số truyền vào
cũng có thể sẽ khác nhau và như thế bạn phải xây dựng rất nhiều
hàm với nhiều tên gọi cho cùng 1 mục đích là cộng 2 số; Điều này
đôi khi lại gây ra những phiền toái không đáng có cho người lập trình
(Phải nhớ quá nhiều tên hàm chỉ cho 1 vấn đề khi sử dụng).
Kỹ thuật Overloading chính là cách cho phép
lập trình viên khắc phục vấn đề trên, bạn có thể định nghĩa nhiều
hàm với cùng 1 tên gọi và khi sử dụng, bạn chỉ việc gọi tên của
hàm giống như thông thường và truyền tham số cho hàm, lúc này trình
biên dịch sẽ tự xác định hàm cần thiết cho lời gọi hàm tương ứng.
Điều này rất thuận tiện về mặt ý nghĩa sử dụng hàm trong chương
trình của chúng ta.
Để minh họa cho vấn đề này, chúng ta cùng xây
dựng 1 hàm dùng cho mục đích tính bình phương của 1 số, hàm của
chúng ta có thể xử lý cho tất cả các số thuộc những kiểu sau : int,
long, float, double (Bạn
có thể thử nghiệm cho tất cả các kiểu dữ liệu số của C Sharp, tôi
chỉ chọn 4 kiểu tiêu biểu cho đỡ dài dòng)
public int
binhPhuong(int so){
return so*so;
}
public long
binhPhuong(long so){
return so*so;
}
public float
binhPhuong(float so){
return so*so;
}
public double
binhPhuong(double so){
return so*so;
}
và trong 1 hàm khác thuộc lớp hiện hành, tôi gọi
sử dụng hàm bình phương cho 2 kiểu dữ liệu long
và float như sau
long a = 5;
float b = 9;
long kq1 = binhPhuong(a);
float kq2 = binhPhuong(b);
console.WriteLine(“{0} bình phương = {1}”,a,
kq1);
console.WriteLine(“{0} bình phương = {1}”,b,
kq2);
Một số lưu ý khi sử dụng kỹ thuật Overloading
Do đặc điểm cho phép
dùng trùng tên hàm trong cùng phạm vi trong chương trình, chính vì thế
bắt buộc các hàm của bạn phải có sự khác biệt để trình biên dịch
có thể nhận dạng chính xác và thực thi đúng với yêu cầu tại thời
điểm mà hàm được gọi. Sự khác biệt đó phải thể hiện ở 1 trong 2
tình huống sau:
-
Khác về kiểu
dữ liệu của tham số (Giống như hàm binhPhuong vừa minh họa ở trên)
-
Khác về số
lượng tham số sử dụng để truyền vào cho hàm
Constructor
Constructor dịch theo ngữ nghĩa tiếng việt còn
được gọi là hàm khởi tạo, đây là hàm đặc biệt của Class sẽ tự
động thực thi mã lệnh chứa bên trong nó vào thời điểm mà đối tượng
của Class được tạo ra, thông thường lập trình viên sử dụng Constructor
để khởi tạo các giá trị cần thiết đối với các biến thành viên
thuộc Class tương ứng. Ngoài đặc điểm này, constructor còn có một số
đặc điểm khác như sau:
-
Có tên trùng
với tên Class mà nó thuộc về
-
Không có kiểu
trả về dành cho hàm đồng thời cũng không được sử dụng từ khóa void
trong khai báo
-
Luôn luôn được
khai báo với access modifier là public
-
Không thể gọi
Constructor thực thi giống như cách thông thường
Default constructor
Còn được gọi là hàm khởi tạo
mặc nhiên của Class, nếu bạn tạo ra Class mà không cung cấp bất cứ 1
hàm khởi tạo nào thì trình biên dịch sẽ tự động tạo ra hàm này và
khởi gán giá trị 0 cho tất cả các biến thành viên có kiểu dữ liệu
số thuộc Class tương ứng
Static constructor
Hàm khởi tạo Static thường
được dùng để khởi gán giá trị cho các biến thành viên thuộc loại
Static của Class. Static constructor cũng là 1 dạng hàm đặc biệt của
Class, do đó nó có một số đặc điểm sau:
-
Không cho phép
sử dụng bất kỳ tham số nào để truyền cho hàm
-
Không được sử
dụng Access modifier để khai báo bởi vì Static constructor được gọi
thực thi trực tiếp bởi CRL (Common Language Runtime) chứ không phải bởi
đối tượng của Class
-
Các lệnh bên
trong Static constructor không được phép truy xuất đến bất cứ biến
thành viên không phải là static của Class
Cú pháp
Trong quá trình xây dựng Class, C Sharp cho phép bạn cũng có thể sử
dụng kỹ thuật Overloading đối với
Constructor. Có nghĩa là bạn cũng có thể tạo ra nhiều constructor cho Class, tuy nhiên bạn luôn phải tuân thủ theo
những nguyên tắc về Overloading đã đề cập
ở trên
Những vấn đề khác
Destructor
Cũng giống như constructor, destructor
cũng là 1 hàm đặc biệt của Class,
nó tự động được gọi vào thời điểm mà đối tượng của Class bị hủy bỏ. Về ý nghĩa thì destructor
thường được dùng để thực thi các lệnh mang tính chất “dọn dẹp”
khi đối tượng của Class không còn
được dùng đến nữa.
Một số đặc điểm chính của
destructor như sau :
-
Luôn có ký
tự đầu tiên là “~” kết hợp với tên trùng với tên của Class
-
Không thể sử
dụng kỹ thuật Overloading cho destructor
-
Không thể gọi
thi hành (Nó tự động được gọi khi đối tượn của Class không còn được dùng đến trong chương
trình)
-
Không sử dụng
các từ khóa loại Access modifier để khai báo
-
Không được
phép sử dụng tham số cho destructor
Garbage collector
Garbage collector chính là cơ
chế “dọn dẹp” được cung cấp trong C Sharp với mục đích thu hồi
vùng nhớ đối với những đối tượng không còn được sử dụng đến trong
chương trình. Khi 1 đối tượng trong chương trình trong 1 thời gian dài
không được gọi sử dụng hay chương trình đã thoát ra khỏi phạm vi mà
trước đó đã khai báo và khởi tạo đối tượng thì Garbage collector sẽ thực
thi các lệnh cần thiết để giải phóng vùng nhớ, giành không gian
trống cho những đối tượng khác được tạo ra trong chương trình.
Để dễ hình dung, bạn có thể
tưởng tượng Garbage collector cũng giống như công ty vệ sinh của thành
phố vậy, vào cuối ngày, nhân viên và xe rác của công ty sẽ tự động
thu gom rác trong thành phố để trả lại không gian cũng như môi trường
trong sạch cho người dân bắt đầu 1 ngày mới sau khi thức giấc.
Từ khóa “this”
Từ khóa này dùng để ám chỉ
cho đối tượng hiện hành của Class,
việc sử dụng từ khóa này khi truy xuất các biến thành viên của Class thông thường sẽ làm cho mã lệnh của
chương trình tường minh hơn đồng thời giúp cho lập trình viên có thể
tránh được việc đụng độ về tên khi vô tình tên của tham số truyền
vào cho hàm và tên biến thành viên bị trùng nhau
Tuy nhiên có 1 điểm mà bạn cần
phải nhớ, đó là không được phép sử dụng từ khóa this để truy xuất đến các biến thành viên
thuộc loại static của Class.
Ví dụ sau minh họa việc sử
dụng từ khóa this để truy xuất đến
các biến thành viên của Class
Đũa cả
www.bodua.com
Tài liệu tham khảo : Giáo
trình Aptech
Sign in|Report Abuse|Powered By Google Sites

markdown:
|
|
|
|
## Xây dựng lớp và phương thức trong C#
Lý thuyết là chuẩn mực và mang tính tổng quát, chính vì thế có thể bạn sẽ thấy cú pháp hơi rắc rối. Đừng lo, chúng ta sẽ cùng làm một số ví dụ về việc định nghĩa phương thức, bạn sẽ thấy nó rất đơn giản.
Vd 1:
Hãy
định nghĩa trong
Vd 2:
Hãy
định nghĩa trong
Vd 3:
Hãy
định nghĩa trong
Như đã
giới thiệu trong phần trước, đối tượng (Object) chính là 1 thể hiện
của
<tên_Class>
<ten_Object> =
Ví dụ: để
tạo ra 1 Object của
hinhTron h1 =
Để tạo 1
Object của
hocSinh hs =
Khi đã có
Object của
Ví dụ 1: để tính chu vi của Object h1 và xuất ra màn hình tôi sẽ sử dụng lệnh như sau
console.WriteLine(“Chu vi tính được = {0}”,
ketQua);
Ví dụ 2:
để in ra thông tin của Object
hs.
Như vậy, chúng ta thấy rằng trong lập trình hướng
đối tượng, nếu muốn gọi thực thi 1 hàm, 1 phương thức nào đó thì
bắt buộc bạn phải có 1 thể hiện của
Như vừa đề cập đến ở trên, mặc nhiên trong C Sharp
thì một phương thức chỉ có thể gọi thông qua Object thuộc
Class trong chương trình có nhu cầu nạp thông
tin từ File cho Object của nó, bạn phải xây dựng tất cả các phương
thức nạp File cần thiết … và điều này có vẻ như hơi lãng phí, giống
như làm khó cho người viết code vậy mặc dù bạn có thể sao chép Code
của phương thức cần thiết đến nhiều nơi nhưng điều này cũng vẫn là
trở ngại lớn cho lập trình viên nhất là khi cần phải điều chỉnh lại
giải thuật cho những đoạn code này
Để giải quyết sự bất cập này, C Sharp cung cấp cho bạn 1 cách
để định nghĩa Method để khi cần, có thể gọi sử dụng những Method đó
1 cách thuận tiện mà không cần phải thông qua Object; đó chính là
Việc định nghĩa
Cú pháp
Ví dụ: Chúng ta cần viết 1 hàm để tính bình phương của 1 số và hàm này có thể gọi ở bất cứ đâu trong chương trình mà chẳng cần phải thông qua Object.
Vậy với static method, chúng ta sẽ gọi sử dụng ra sao ? C Sharp cho phép bạn gọi trực tiếp thông qua tên của Class có chứa nó
<class_name>.<
Ví dụ : Chúng ta sẽ viết 1 chương trình cho phép tính diện tích và chu vi của các hình tròn, hình vuông. Trong đó ta sẽ xây dựng phương thức tĩnh binhPhuong để tính bình phương cho các số truyền vào khi gọi hàm này. Chương trình được viết như sau:
using System;
-
Tôi tạo 1
project có tên
-
Bạn thấy
trong tập tin có tên trùng tên với
-
Trong các
method dùng để tính diện tích của
Ứng với phương thức tĩnh
(static method), C Sharp cho phép bạn có thể định nghĩa các biến thành
viên thuộc dạng
Thuật ngữ này thường được
dịch ra trong 1 số sách dạy lập trình bằng tiếng việt là bổ từ, vậy
Access modifiers có ý nghĩa như thế nào ? cách sử dụng ra sao ?. Trong
lập trình hướng đối tượng, Access modifiers là thuật ngữ dùng để ám
chỉ một số từ khóa đặc biệt dùng để khai báo cho Class, Method hay
Variable nhằm chỉ ra phạm vi sử dụng cũng như mức độ ảnh hưởng của
nó trong chương trình của bạn, tôi tạm gọi là tầm vực của đối tượng
sử dụng nó để khai báo (
-
-
-
-
Có lẽ tới đây, bạn cảm thấy
các lý giải ở trên dường như rất mơ hồ !, tôi xin giúp bạn liên tưởng
thế này : trong nhà bạn, phòng khách là nơi mà mọi thành viên trong
gia đình đều có thể sử dụng nó như nhau => khi xây dựng, phòng
khách đã được khai báo là “
Protected thì thế này, ba mẹ bạn mua 1 chiếc
xe SH làm phương tiện đi lại, khi cần thì bạn hay anh chị em trong gia
đình đều có thể sử dụng chiếc xe đó, … nhưng anh bạn hàng xóm của
bạn thì không được phép sử dụng chiếc SH đó, có thể nói chiếc SH
của gia đình bạn đã được khai báo là protected.
Internal thì lại khác; trong 1 căn
phòng, mọi đồ vật như bàn ghế, người, tủ, … đều có thể nhận ánh sách
từ chiếc bóng đèn treo trên trần nhà, trong tình huống này thì mọi
đồ vật và người trong căn phòng được xem như là các Class khác nhau và Assembly chính là căn
phòng thì bóng đèn gắn trên trần nhà được xem như là đã được khai
báo Access modifier với từ khóa internal
rồi đó.
Bảng mô tả tầm ảnh hưởng của Access Modifiers
Như cú pháp khai báo dành cho method đã đề cập ở mục trước, ta thấy method có thể có tham số truyền vào hoặc không có. Vậy chính xác tham số là gì ?, tại sao phải có tham số ? Nếu không có tham số cũng được thì khi xậy dựng method tôi không dùng tham số cho tất cả các method được không ?. Tôi xin diễn giải để trả lời các câu hỏi trên thông qua 1 số ý như sau
-
Theo định
nghĩa, tham số là tập hợp các dữ liệu cần có để cung cấp cho hàm
xử lý tại thời điểm mà hàm được gọi. Ví dụ như việc sử dụng xe
gắn máy để di chuyển, hôm nay tôi chỉ có tiền để đổ vào bình 1 lít
xăng, như thế trong ngày hôm nay tôi chỉ có thể dùng xe gắn máy di
chuyển trong phạm vi tối đa là 50 km (
-
Như vậy việc
có hay không có tham số còn tùy thuộc vào mục tiên hoạt động và nhu
cầu sử dụng của method tương ứng, nhớ lại 3 method mà tôi đã minh họa
trong phần trước :
(); xuatThongTin ()
tôi đều không sử dụng tham số vì những hàm này khi hoạt động dựa
trên dữ liệu nội tại của đối tượng. Trong khi đó hàm inPhanSo ( binhPhuong long so) có 1 tham số và tùy theo số truyền
vào mỗi thời điểm mà hàm này sẽ tính và trả về giá trị cho thích
hợp. Rõ ràng việc có hay không có tham số còn tùy thuộc vào mục
tiêu hoạt động của hàm, tuy nhiên việc sử dụng tham số sẽ làm cho
khả năng xử lý thông tin của hàm được linh hoạt hơn ( Nhưng bạn cũng không nên quá
lạm dụng tham số cho hàm vì đôi khi sẽ trở thành mình tự làm khó
chính mình)
Trong C Sharp, tham số truyền cho hàm theo cách
mặc nhiên được gọi là truyền tham trị (
Về thuật toán thì hàm này chẳng có ý nghĩa gì đặc biệt, tôi chỉ đơn thuần dùng nó để mô tả cho ý nghĩa tham trị của các tham số a và b mà thôi.
Như bạn thấy, khi hàm này được gọi, nó sẽ thực hiện lần lượt các công việc sau
+ khai báo và khởi gán biến
Sau khi tìm hiểu đến đây, bạn vẫn chẳng thấy việc mô tả cho ý nghĩa truyền tham trị là nằm ở đâu. Đúng thế, mới chỉ có nội dung của hàm vẫn chưa thể làm rõ được ý nghĩa của tham trị sử dụng, bây giờ tôi thêm 1 đoạn code để mô tả cho việc gọi sử dụng hàm này từ bên trong 1 hàm khác như sau
Theo bạn, sau khi thi hành kết quả sẽ in ra trên màn hình thế nào ?. Kết quả như sau
Có lẽ bạn sẽ cảm thấy hơi lạ phải không ?
rõ ràng tại vị trí của tham số thứ nhất truyền vào, bên trong hàm
sẽ tăng giá trị của nó lên 1 và giảm giá trị của tham số thứ 2
xuống 1 nhưng sao in ra vẫn là 7 và 3 nhỉ ?. Câu trả lời nằm ở đây,
theo như mặc định, truyền tham số như ví dụ minh họa này thì sẽ được
xem như
Trong những tình huống nhất định nào đó, lập
trình viên mong muốn việc tính toán bên trong hàm cần phải làm thay
đổi giá trị và ảnh hưởng đến biến sử dụng làm tham số cho hàm tại
thời điểm mà hàm được gọi. Để đáp ứng điều này, C Sharp cung cấp
cách truyền dạng tham chiếu (
Về nguyên tắc thì 2 từ khóa này dùng để khai
báo cho các tham số thuộc hàm nhằm ám chỉ những tham số này được
truyền dưới dạng tham chiếu, trong tình huống này thay vì truyền giá
trị vào cho hàm, địa chỉ của ô nhớ chứa biến giá trị được truyền
vào để chương trình lấy dữ liệu từ ô nhớ tương ứng ra tính toán
đồng thời thay đổi giá trị (
Và lúc này, trong 1 hàm khác nếu bạn gọi sử dụng hàm tính toán thì sẽ gọi hàm theo cách như sau
Bây giờ, sau khi thi hành kết quả sẽ in ra trên màn hình như sau
Trong
tình huống này, bạn thấy tại nơi gọi hàm tinhToan, từ khóa
Việc sử dụng từ khóa
Và lúc này, trong 1 hàm khác nếu bạn gọi sử dụng hàm tính toán thì sẽ gọi hàm theo cách như sau
Bây giờ, sau khi thi hành kết quả sẽ in ra kết quả như sau
Đôi khi trong quá trình xây dựng ứng dụng, bạn
cần phải xây dựng hàm cho một mục đích nào đó nhưng lại phải xử lý
cho quá nhiều tình huống khác nhau; ví dụ như thế này: ta cần xây
dựng 1 hàm cho phép cộng hai số với nhau, tuy nhiên trong các tình
huống sử dụng khác nhau thì kiểu dữ liệu của tham số truyền vào
cũng có thể sẽ khác nhau và như thế bạn phải xây dựng rất nhiều
hàm với nhiều tên gọi cho cùng 1 mục đích là cộng 2 số; Điều này
đôi khi lại gây ra những phiền toái không đáng có cho người lập trình
(
Kỹ thuật Overloading chính là cách cho phép lập trình viên khắc phục vấn đề trên, bạn có thể định nghĩa nhiều hàm với cùng 1 tên gọi và khi sử dụng, bạn chỉ việc gọi tên của hàm giống như thông thường và truyền tham số cho hàm, lúc này trình biên dịch sẽ tự xác định hàm cần thiết cho lời gọi hàm tương ứng. Điều này rất thuận tiện về mặt ý nghĩa sử dụng hàm trong chương trình của chúng ta.
Để minh họa cho vấn đề này, chúng ta cùng xây
dựng 1 hàm dùng cho mục đích tính bình phương của 1 số, hàm của
chúng ta có thể xử lý cho tất cả các số thuộc những kiểu sau : int,
long, float, double (
và trong 1 hàm khác thuộc lớp hiện hành, tôi gọi
sử dụng hàm bình phương cho 2 kiểu dữ liệu
Do đặc điểm cho phép dùng trùng tên hàm trong cùng phạm vi trong chương trình, chính vì thế bắt buộc các hàm của bạn phải có sự khác biệt để trình biên dịch có thể nhận dạng chính xác và thực thi đúng với yêu cầu tại thời điểm mà hàm được gọi. Sự khác biệt đó phải thể hiện ở 1 trong 2 tình huống sau:
-
Khác về kiểu
dữ liệu của tham số (
- Khác về số lượng tham số sử dụng để truyền vào cho hàm
Constructor dịch theo ngữ nghĩa tiếng việt còn được gọi là hàm khởi tạo, đây là hàm đặc biệt của Class sẽ tự động thực thi mã lệnh chứa bên trong nó vào thời điểm mà đối tượng của Class được tạo ra, thông thường lập trình viên sử dụng Constructor để khởi tạo các giá trị cần thiết đối với các biến thành viên thuộc Class tương ứng. Ngoài đặc điểm này, constructor còn có một số đặc điểm khác như sau:
- Có tên trùng với tên Class mà nó thuộc về
- Không có kiểu trả về dành cho hàm đồng thời cũng không được sử dụng từ khóa void trong khai báo
- Luôn luôn được khai báo với access modifier là public
- Không thể gọi Constructor thực thi giống như cách thông thường
Còn được gọi là hàm khởi tạo mặc nhiên của Class, nếu bạn tạo ra Class mà không cung cấp bất cứ 1 hàm khởi tạo nào thì trình biên dịch sẽ tự động tạo ra hàm này và khởi gán giá trị 0 cho tất cả các biến thành viên có kiểu dữ liệu số thuộc Class tương ứng
Hàm khởi tạo Static thường được dùng để khởi gán giá trị cho các biến thành viên thuộc loại Static của Class. Static constructor cũng là 1 dạng hàm đặc biệt của Class, do đó nó có một số đặc điểm sau:
- Không cho phép sử dụng bất kỳ tham số nào để truyền cho hàm
- Không được sử dụng Access modifier để khai báo bởi vì Static constructor được gọi thực thi trực tiếp bởi CRL (Common Language Runtime) chứ không phải bởi đối tượng của Class
- Các lệnh bên trong Static constructor không được phép truy xuất đến bất cứ biến thành viên không phải là static của Class
Trong quá trình xây dựng
Cũng giống như constructor, destructor
cũng là 1 hàm đặc biệt của
Một số đặc điểm chính của destructor như sau :
-
Luôn có ký
tự đầu tiên là “~” kết hợp với tên trùng với tên của
- Không thể sử dụng kỹ thuật Overloading cho destructor
-
Không thể gọi
thi hành (Nó tự động được gọi khi đối tượn của
- Không sử dụng các từ khóa loại Access modifier để khai báo
- Không được phép sử dụng tham số cho destructor
Garbage collector chính là cơ
chế “
Để dễ hình dung, bạn có thể tưởng tượng Garbage collector cũng giống như công ty vệ sinh của thành phố vậy, vào cuối ngày, nhân viên và xe rác của công ty sẽ tự động thu gom rác trong thành phố để trả lại không gian cũng như môi trường trong sạch cho người dân bắt đầu 1 ngày mới sau khi thức giấc.
Từ khóa này dùng để ám chỉ
cho đối tượng hiện hành của
Tuy nhiên có 1 điểm mà bạn cần
phải nhớ, đó là không được phép sử dụng từ khóa
Ví dụ sau minh họa việc sử
dụng từ khóa
Tài liệu tham khảo : Giáo trình Aptech

X-Robots-Tag: noarchive

Cache-Control: public, max-age=5


text:
Ngọc Trinh, Lan Khuê, Lệ Quyên là những ngôi sao bị lọt top sao mặc xấu tuần qua.
Ngọc Trinh xuất hiện trong một sự kiện tại TP.HCM với phong cách kín đáo khác hẳn vẻ nóng bỏng thường thấy.
Cô diện một chiếc váy nhung đính đá già và “sến sẩm”.
Trà Ngọc Hằng “mát mẻ” với xu hướng váy ngủ . Thế nhưng sự kém tinh tế khi chọn chiếc đầm tua rua nhàu nhĩ khiển cô trông luộm thuộm khác hẳn với những hình ảnh thường thấy
Cách chọn màu tất không liên quan cùng các chi tiết rườm rà phần cổ và tay áo khiến Lan Khuê mặc cả cây hàng hiệu đắt tiền mà vẫn chưa thấy đẹp
Họa tiết loang lổ trên tông màu già nua cùng chất liệu cứng đơ của bộ váy khiến Hoàng Thùy Linh già đi vài tuổi
Chiếc váy diêm dúa nhiều tầng lớp đã che mất vòng eo của nữ ca sĩ Lệ Quyên. Trông cô tròn trịa và thấp hơn rất nhiều. Phần tua rua nơi chân váy cũng là một điểm trừ lớn trong tổng thể rối rắm của bộ trang phục
Luôn xuất hiện một cách rất hoàn hảo, không hiểu sao Angela Phương Trinh lại chọn chiếc váy có chất liệu voan may co dúm tạo cảm giác nhàu nhĩ như thế này
Khánh Thi lựa chọn trang phục váy xẻ sâu và áo blazer chất liệu ren để tham gia chương trình “Thử thách cùng bước nhảy” với vai trò giám khảo.
Xu hướng váy ngủ gợi cảm , nhưng lạm dụng ren từ áo choàng cho tới váy khiến phong cách của Khánh Thi thật là khó đỡ

markdown:
[](http://blogtin.net/ngoi-sao/tin-tuc-sao-viet/ngoc-trinh-mac-gia-chat-lan-khue-mau-me-kho-do.html)
![](http://blogtin.net/wp-content/uploads/2016/11/ngoc-trinh-mac-gia-chat-lan-khue-mau-me-kho-do3-200x150.jpg)
Ngọc Trinh, Lan Khuê, Lệ Quyên là những ngôi sao bị lọt top sao mặc xấu tuần qua.
*Ngọc Trinh xuất hiện trong một sự kiện tại TP.HCM với phong cách kín đáo khác hẳn vẻ nóng bỏng thường thấy.* *Cô diện một chiếc váy nhung đính đá già và “sến sẩm”.* *Trà Ngọc Hằng “mát mẻ” với xu hướng váy ngủ . Thế nhưng sự kém tinh tế khi chọn chiếc đầm tua rua nhàu nhĩ khiển cô trông luộm thuộm khác hẳn với những hình ảnh thường thấy* *Cách chọn màu tất không liên quan cùng các chi tiết rườm rà phần cổ và tay áo khiến Lan Khuê mặc cả cây hàng hiệu đắt tiền mà vẫn chưa thấy đẹp* *Họa tiết loang lổ trên tông màu già nua cùng chất liệu cứng đơ của bộ váy khiến Hoàng Thùy Linh già đi vài tuổi* *Chiếc váy diêm dúa nhiều tầng lớp đã che mất vòng eo của nữ ca sĩ Lệ Quyên. Trông cô tròn trịa và * *thấp hơn rất nhiều. Phần tua rua nơi chân váy cũng là một điểm trừ lớn trong tổng thể rối rắm của bộ trang phục* *Luôn xuất hiện một cách rất hoàn hảo, không hiểu sao Angela Phương Trinh lại chọn chiếc váy có * *chất liệu voan may co dúm tạo cảm giác nhàu nhĩ như thế này* *Khánh Thi lựa chọn trang phục váy xẻ sâu và áo blazer chất liệu ren để tham gia chương trình “Thử thách * *cùng bước nhảy” với vai trò giám khảo.* *Xu hướng váy ngủ gợi cảm , nhưng lạm dụng ren từ áo choàng cho tới váy khiến phong cách của Khánh Thi thật là khó đỡ*

WARC-Type: response

Content-Type: application/http; msgtype=response

WARC-Truncated: length

WARC-Identified-Payload-Type: text/html

Server: nginx

Content-Type: text/html; charset=UTF-8

Connection: close

Vary: Accept-Encoding

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Pragma: no-cache


text:
Danh mục
Liên kết đáng xem
Sản phẩm bán chạy
185.000 VNĐ
75.000 VNĐ
Chuông gió Nhật Bản cá chép xanh
95.000 VNĐ
Chuông gió Nhật Bản hoa Anh Đào
95.000 VNĐ
149.000 VNĐ
5.000 VNĐ
Mặt dây chuyền 12 cung hoàng đạo
65.000 VNĐ
250.000 VNĐ
3.000 VNĐ
89.000 VNĐ
45.000 VNĐ
179.000 VNĐ
159.000 VNĐ
119.000 VNĐ
Tai nghe Beats Monster Solo HD
155.000 VNĐ
139.000 VNĐ
25.000 VNĐ
Móc điện thoại mikomi cát phát sáng
49.000 VNĐ
Móc điện thoại búp bê cầu nắng mưa
15.000 VNĐ
25.000 VNĐ
Móc khóa bánh ngọt có mùi thơm
35.000 VNĐ
69.000 VNĐ
5.000 VNĐ
90.000 VNĐ
69.000 VNĐ
25.000 VNĐ
159.000 VNĐ
139.000 VNĐ
129.000 VNĐ
129.000 VNĐ
39.000 VNĐ
10.000 VNĐ
29.000 VNĐ
19.000 VNĐ
Mặt dây chuyền 12 cung hoàng đạo
Chi tiết sản phẩm
Mặt dây chuyền 12 cung hoàng đạo

markdown:
##### Danh mục
##### Liên kết đáng xem
##### Sản phẩm bán chạy
[](http://cauvong.net/san-pham/PCB1/Cun-mat-xe-mac-ao-Pull.html)
![Cún mặt xệ mặc áo Pull | Cun mat xe mac ao Pull Cún mặt xệ mặc áo Pull | Cun mat xe mac ao Pull](http://cauvong.net/uploads/product/thumbs/tb_PCB1_hinhTT.jpg)
185.000 VNĐ
[](http://cauvong.net/san-pham/PCB16/Lucky-di-hoc.html)
![Lucky đi học | Lucky di hoc Lucky đi học | Lucky di hoc](http://cauvong.net/uploads/product/thumbs/tb_PCB16_hinhTT.jpg)
75.000 VNĐ
[Chuông gió Nhật Bản cá chép xanh](http://cauvong.net/san-pham/PCG14/Chuong-gio-Nhat-Ban-ca-chep-xanh.html) [](http://cauvong.net/san-pham/PCG14/Chuong-gio-Nhat-Ban-ca-chep-xanh.html)
![Chuông gió Nhật Bản cá chép xanh | Chuong gio Nhat Ban ca chep xanh Chuông gió Nhật Bản cá chép xanh | Chuong gio Nhat Ban ca chep xanh](http://cauvong.net/uploads/product/thumbs/tb_PCG14_hinhTT.jpg)
95.000 VNĐ
[Chuông gió Nhật Bản hoa Anh Đào](http://cauvong.net/san-pham/PCG19/Chuong-gio-Nhat-Ban-hoa-Anh-Dao.html) [](http://cauvong.net/san-pham/PCG19/Chuong-gio-Nhat-Ban-hoa-Anh-Dao.html)
![Chuông gió Nhật Bản hoa Anh Đào | Chuong gio Nhat Ban hoa Anh Dao Chuông gió Nhật Bản hoa Anh Đào | Chuong gio Nhat Ban hoa Anh Dao](http://cauvong.net/uploads/product/thumbs/tb_PCG19_hinhTT.jpg)
95.000 VNĐ
[](http://cauvong.net/san-pham/PCN1/May-chup-hinh-duoi-nuoc.html)
![Máy chụp hình dưới nước | May chup hinh duoi nuoc Máy chụp hình dưới nước | May chup hinh duoi nuoc](http://cauvong.net/uploads/product/thumbs/tb_PCN1_hinhTT.jpg)
149.000 VNĐ
[](http://cauvong.net/san-pham/PCTR14/Cay-tai-tho-sieu-dang-yeu.html)
![Cây tai thỏ siêu đáng yêu | Cay tai tho sieu dang yeu Cây tai thỏ siêu đáng yêu | Cay tai tho sieu dang yeu](http://cauvong.net/uploads/product/thumbs/tb_PCTR14_hinhTT.jpg)
5.000 VNĐ
[Mặt dây chuyền 12 cung hoàng đạo](http://cauvong.net/san-pham/PDC58/Mat-day-chuyen-12-cung-hoang-dao.html) [](http://cauvong.net/san-pham/PDC58/Mat-day-chuyen-12-cung-hoang-dao.html)
![Mặt dây chuyền 12 cung hoàng đạo | Mat day chuyen 12 cung hoang dao Mặt dây chuyền 12 cung hoàng đạo | Mat day chuyen 12 cung hoang dao](http://cauvong.net/uploads/product/thumbs/tb_PDC58_hinhTT.jpg)
65.000 VNĐ
[](http://cauvong.net/san-pham/PDC99/Day-chuyen-mat-chu-theo-ten.html)
![Dây chuyền mặt chữ theo tên | Day chuyen mat chu theo ten Dây chuyền mặt chữ theo tên | Day chuyen mat chu theo ten](http://cauvong.net/uploads/product/thumbs/tb_PDC99_hinhTT.jpg)
250.000 VNĐ
[](http://cauvong.net/san-pham/PDCT2/Bang-keo-hoat-hinh.html)
![Băng keo hoạt hình | Bang keo hoat hinh Băng keo hoạt hình | Bang keo hoat hinh](http://cauvong.net/uploads/product/thumbs/tb_PDCT2_hinhTT.jpg)
3.000 VNĐ
[](http://cauvong.net/san-pham/PDH4/Dong-ho-doi-mau.html)
![Đồng hồ đổi màu | Dong ho doi mau Đồng hồ đổi màu | Dong ho doi mau](http://cauvong.net/uploads/product/thumbs/tb_PDH4_hinhTT.jpg)
89.000 VNĐ
[](http://cauvong.net/san-pham/PDN3/Nen-dien-tu-V2.html)
![Nến điện tử V2 | Nen dien tu V2 Nến điện tử V2 | Nen dien tu V2](http://cauvong.net/uploads/product/thumbs/tb_PDN3_hinhTT.jpg)
45.000 VNĐ
[](http://cauvong.net/san-pham/PDN32/Den-ngu-Avatar-cam-ung.html)
![Đèn ngủ Avatar cảm ứng | Den ngu Avatar cam ung Đèn ngủ Avatar cảm ứng | Den ngu Avatar cam ung](http://cauvong.net/uploads/product/thumbs/tb_PDN32_hinhTT.jpg)
179.000 VNĐ
[](http://cauvong.net/san-pham/PDN5/Den-chieu-sao-thien-than.html)
![Đèn chiếu sao thiên thần | Den chieu sao thien than Đèn chiếu sao thiên thần | Den chieu sao thien than](http://cauvong.net/uploads/product/thumbs/tb_PDN5_hinhTT.jpg)
159.000 VNĐ
[](http://cauvong.net/san-pham/PGTY3/Goi-ngu-MP3.html)
![Gối ngủ MP3 | Goi ngu MP3 Gối ngủ MP3 | Goi ngu MP3](http://cauvong.net/uploads/product/thumbs/tb_PGTY3_hinhTT.jpg)
119.000 VNĐ
[Tai nghe Beats Monster Solo HD](http://cauvong.net/san-pham/PHP3/Tai-nghe-Beats-Monster-Solo-HD.html) [](http://cauvong.net/san-pham/PHP3/Tai-nghe-Beats-Monster-Solo-HD.html)
![Tai nghe Beats Monster Solo HD | Tai nghe Beats Monster Solo HD Tai nghe Beats Monster Solo HD | Tai nghe Beats Monster Solo HD](http://cauvong.net/uploads/product/thumbs/tb_PHP3_hinhTT.jpg)
155.000 VNĐ
[](http://cauvong.net/san-pham/PLDM14/Ly-doi-mau-viet-thong-diep-V7.html)
![Ly đổi màu viết thông điệp V7 | Ly doi mau viet thong diep V7 Ly đổi màu viết thông điệp V7 | Ly doi mau viet thong diep V7](http://cauvong.net/uploads/product/thumbs/tb_PLDM14_hinhTT.jpg)
139.000 VNĐ
[](http://cauvong.net/san-pham/PMDT63/Moc-dien-thoai-meo-Chii.html)
![Móc điện thoại mèo Chii | Moc dien thoai meo Chii Móc điện thoại mèo Chii | Moc dien thoai meo Chii](http://cauvong.net/uploads/product/thumbs/tb_PMDT63_hinhTT.jpg)
25.000 VNĐ
[Móc điện thoại mikomi cát phát sáng](http://cauvong.net/san-pham/PMDT64/Moc-dien-thoai-mikomi-cat-phat-sang.html) [](http://cauvong.net/san-pham/PMDT64/Moc-dien-thoai-mikomi-cat-phat-sang.html)
![Móc điện thoại mikomi cát phát sáng | Moc dien thoai mikomi cat phat sang Móc điện thoại mikomi cát phát sáng | Moc dien thoai mikomi cat phat sang](http://cauvong.net/uploads/product/thumbs/tb_PMDT64_hinhTT.jpg)
49.000 VNĐ
[Móc điện thoại búp bê cầu nắng mưa](http://cauvong.net/san-pham/PMDT65/Moc-dien-thoai-bup-be-cau-nang-mua.html) [](http://cauvong.net/san-pham/PMDT65/Moc-dien-thoai-bup-be-cau-nang-mua.html)
![Móc điện thoại búp bê cầu nắng mưa | Moc dien thoai bup be cau nang mua Móc điện thoại búp bê cầu nắng mưa | Moc dien thoai bup be cau nang mua](http://cauvong.net/uploads/product/thumbs/tb_PMDT65_hinhTT.jpg)
15.000 VNĐ
[](http://cauvong.net/san-pham/PMDT68/Moc-dien-thoai-Maruko-V2.html)
![Móc điện thoại Maruko V2 | Moc dien thoai Maruko V2 Móc điện thoại Maruko V2 | Moc dien thoai Maruko V2](http://cauvong.net/uploads/product/thumbs/tb_PMDT68_hinhTT.jpg)
25.000 VNĐ
[Móc khóa bánh ngọt có mùi thơm](http://cauvong.net/san-pham/PMK17/Moc-khoa-banh-ngot-co-mui-thom.html) [](http://cauvong.net/san-pham/PMK17/Moc-khoa-banh-ngot-co-mui-thom.html)
![Móc khóa bánh ngọt có mùi thơm | Moc khoa banh ngot co mui thom Móc khóa bánh ngọt có mùi thơm | Moc khoa banh ngot co mui thom](http://cauvong.net/uploads/product/thumbs/tb_PMK17_hinhTT.jpg)
35.000 VNĐ
[](http://cauvong.net/san-pham/PMK78/Moc-khoa-may-anh-mini.html)
![Móc khóa máy ảnh mini | Moc khoa may anh mini Móc khóa máy ảnh mini | Moc khoa may anh mini](http://cauvong.net/uploads/product/thumbs/tb_PMK78_hinhTT.jpg)
69.000 VNĐ
[](http://cauvong.net/san-pham/PPKL1/Nail-Nhat-Ban.html)
![Nail Nhật Bản | Nail Nhat Ban Nail Nhật Bản | Nail Nhat Ban](http://cauvong.net/uploads/product/thumbs/tb_PPKL1_hinhTT.jpg)
5.000 VNĐ
[](http://cauvong.net/san-pham/PPKL2/Guong-Macbook-Air.html)
![Gương Macbook Air | Guong Macbook Air Gương Macbook Air | Guong Macbook Air](http://cauvong.net/uploads/product/thumbs/tb_PPKL2_hinhTT.jpg)
90.000 VNĐ
[](http://cauvong.net/san-pham/PPKL5/May-duoi-toc-mini.html)
![Máy duỗi tóc mini | May duoi toc mini Máy duỗi tóc mini | May duoi toc mini](http://cauvong.net/uploads/product/thumbs/tb_PPKL5_hinhTT.jpg)
69.000 VNĐ
[](http://cauvong.net/san-pham/PTC23/Den-led-ve-hinh.html)
![Đèn led vẽ hình | Den led ve hinh Đèn led vẽ hình | Den led ve hinh](http://cauvong.net/uploads/product/thumbs/tb_PTC23_hinhTT.jpg)
25.000 VNĐ
[](http://cauvong.net/san-pham/PTC7/Bang-phi-tieu-17-inch.html)
![Bảng phi tiêu 17 inch | Bang phi tieu 17 inch Bảng phi tiêu 17 inch | Bang phi tieu 17 inch](http://cauvong.net/uploads/product/thumbs/tb_PTC7_hinhTT.jpg)
159.000 VNĐ
[](http://cauvong.net/san-pham/PTGA28/Thu-ghi-am-Minions.html)
![Thú ghi âm Minions | Thu ghi am Minions Thú ghi âm Minions | Thu ghi am Minions](http://cauvong.net/uploads/product/thumbs/tb_PTGA28_hinhTT.jpg)
139.000 VNĐ
[](http://cauvong.net/san-pham/PTGA4/Thu-ghi-am-heo-con.html)
![Thú ghi âm heo con | Thu ghi am heo con Thú ghi âm heo con | Thu ghi am heo con](http://cauvong.net/uploads/product/thumbs/tb_PTGA4_hinhTT.jpg)
129.000 VNĐ
[](http://cauvong.net/san-pham/PTGA5/Thu-ghi-am-Baby-Soldier.html)
![Thú ghi âm Baby Soldier | Thu ghi am Baby Soldier Thú ghi âm Baby Soldier | Thu ghi am Baby Soldier](http://cauvong.net/uploads/product/thumbs/tb_PTGA5_hinhTT.jpg)
129.000 VNĐ
[](http://cauvong.net/san-pham/PTIG1/Mieng-deo-massage-mat-khi-ngu.html)
![Miếng đeo massage mắt khi ngủ | Mieng deo massage mat khi ngu Miếng đeo massage mắt khi ngủ | Mieng deo massage mat khi ngu](http://cauvong.net/uploads/product/thumbs/tb_PTIG1_hinhTT.jpg)
39.000 VNĐ
[](http://cauvong.net/san-pham/PVK13/Viet-ong-chich.html)
![Viết ống chích | Viet ong chich Viết ống chích | Viet ong chich](http://cauvong.net/uploads/product/thumbs/tb_PVK13_hinhTT.jpg)
10.000 VNĐ
[](http://cauvong.net/san-pham/PVK5/Viet-mat-kieng.html)
![Viết mắt kiếng | Viet mat kieng Viết mắt kiếng | Viet mat kieng](http://cauvong.net/uploads/product/thumbs/tb_PVK5_hinhTT.jpg)
29.000 VNĐ
[](http://cauvong.net/san-pham/PVT11/Meo-may-man.html)
![Mèo may mắn | Meo may man Mèo may mắn | Meo may man](http://cauvong.net/uploads/product/thumbs/tb_PVT11_hinhTT.jpg)
19.000 VNĐ
[Nhẫn cặp đẹp nhất](http://cauvong.net/tu-khoa/100/Nhan-cap-inox-dep-nhat-2013.html) [Trò chơi rút gỗ](http://cauvong.net/tu-khoa/161/Mua-ban-tro-choi-do-choi-rut-go-gia-re-nhat-tphcm.html) [Mua bài uno ở đâu](http://cauvong.net/tu-khoa/162/Mua-ban-bai-uno-gia-re-Toan-Quoc-TPHCM-Ha-Noi-bat-ky-o-dau.html) [Mặt dây chuyền đôi đẹp nhất](http://cauvong.net/tu-khoa/155/Mat-day-chuyen-doi-dep-nhat.html) [Ly đổi màu](http://cauvong.net/danh-muc/SC24/Ly-doi-mau.html) [Chuông gió Nhật Bản](http://cauvong.net/danh-muc/SC55/Chuong-gio-Nhat-Ban.html) [Bông tai nam châm KPOP](http://cauvong.net/danh-muc/SC1/Bong-tai-nam-cham-KPOP.html) [Khắc chữ hạt gạo](http://cauvong.net/danh-muc/SC56/Khac-chu-hat-gao.html) [Thú nhồi bông ghi âm](http://cauvong.net/danh-muc/SC25/Thu-nhoi-bong-ghi-am.html) [Nhẫn đôi](http://cauvong.net/tu-khoa/101/Nhan-doi-inox-dep-nhat-2013.html)
[Mặt dây chuyền 12 cung hoàng đạo](http://cauvong.net/san-pham/PDC58/Mat-day-chuyen-12-cung-hoang-dao.html) ![Mặt dây chuyền 12 cung hoàng đạo | Mat day chuyen 12 cung hoang dao Mặt dây chuyền 12 cung hoàng đạo | Mat day chuyen 12 cung hoang dao](http://cauvong.net/uploads/product/PDC58_hinhTT.jpg)
[Bản đồ](http://cauvong.net/lien-he.html))
### Chi tiết sản phẩm
Mặt dây chuyền 12 cung hoàng đạo
### Sản phẩm cùng loại
[Dây chuyền BẠC mặt chữ theo tên yêu cầu](http://cauvong.net/san-pham/PDC100/Day-chuyen-BAC-mat-chu-theo-ten-yeu-cau.html) [](http://cauvong.net/san-pham/PDC100/Day-chuyen-BAC-mat-chu-theo-ten-yeu-cau.html)
![Dây chuyền BẠC mặt chữ theo tên yêu cầu | Day chuyen BAC mat chu theo ten yeu cau Dây chuyền BẠC mặt chữ theo tên yêu cầu | Day chuyen BAC mat chu theo ten yeu cau](http://cauvong.net/img/grey.jpg)
|Mã: PDC100||370.000 VNĐ|
|Lượt xem: 6342|
[Dây chuyền mặt chữ theo tên](http://cauvong.net/san-pham/PDC99/Day-chuyen-mat-chu-theo-ten.html) [](http://cauvong.net/san-pham/PDC99/Day-chuyen-mat-chu-theo-ten.html)
![Dây chuyền mặt chữ theo tên | Day chuyen mat chu theo ten Dây chuyền mặt chữ theo tên | Day chuyen mat chu theo ten](http://cauvong.net/img/grey.jpg)
|Mã: PDC99||250.000 VNĐ|
|Lượt xem: 35492|
[Mặt dây chuyền cỏ 4 lá V2](http://cauvong.net/san-pham/PDC98/Mat-day-chuyen-co-4-la-V2.html) [](http://cauvong.net/san-pham/PDC98/Mat-day-chuyen-co-4-la-V2.html)
![Mặt dây chuyền cỏ 4 lá V2 | Mat day chuyen co 4 la V2 Mặt dây chuyền cỏ 4 lá V2 | Mat day chuyen co 4 la V2](http://cauvong.net/img/grey.jpg)
|Mã: PDC98||79.000 VNĐ|
|Lượt xem: 9961|
[Mặt dây chuyền đôi trái tim V4](http://cauvong.net/san-pham/PDC97/Mat-day-chuyen-doi-trai-tim-V4.html) [](http://cauvong.net/san-pham/PDC97/Mat-day-chuyen-doi-trai-tim-V4.html)
![Mặt dây chuyền đôi trái tim V4 | Mat day chuyen doi trai tim V4 Mặt dây chuyền đôi trái tim V4 | Mat day chuyen doi trai tim V4](http://cauvong.net/img/grey.jpg)
|Mã: PDC97||129.000 VNĐ|
|Lượt xem: 9650|
[Mặt dây chuyền 2 vòng](http://cauvong.net/san-pham/PDC96/Mat-day-chuyen-2-vong.html) [](http://cauvong.net/san-pham/PDC96/Mat-day-chuyen-2-vong.html)
![Mặt dây chuyền 2 vòng | Mat day chuyen 2 vong Mặt dây chuyền 2 vòng | Mat day chuyen 2 vong](http://cauvong.net/img/grey.jpg)
|Mã: PDC96||55.000 VNĐ|
|Lượt xem: 9921|
[Mặt dây chuyền cây đàn](http://cauvong.net/san-pham/PDC94/Mat-day-chuyen-cay-dan.html) [](http://cauvong.net/san-pham/PDC94/Mat-day-chuyen-cay-dan.html)
![Mặt dây chuyền cây đàn | Mat day chuyen cay dan Mặt dây chuyền cây đàn | Mat day chuyen cay dan](http://cauvong.net/img/grey.jpg)
|Mã: PDC94||119.000 VNĐ|
|Lượt xem: 8953|
[Mặt dây chuyền thanh kiếm](http://cauvong.net/san-pham/PDC92/Mat-day-chuyen-thanh-kiem.html) [](http://cauvong.net/san-pham/PDC92/Mat-day-chuyen-thanh-kiem.html)
![Mặt dây chuyền thanh kiếm | Mat day chuyen thanh kiem Mặt dây chuyền thanh kiếm | Mat day chuyen thanh kiem](http://cauvong.net/img/grey.jpg)
|Mã: PDC92||129.000 VNĐ|
|Lượt xem: 10742|
[Mắt dây chuyền thánh giá V3](http://cauvong.net/san-pham/PDC87/Mat-day-chuyen-thanh-gia-V3.html) [](http://cauvong.net/san-pham/PDC87/Mat-day-chuyen-thanh-gia-V3.html)
![Mắt dây chuyền thánh giá V3 | Mat day chuyen thanh gia V3 Mắt dây chuyền thánh giá V3 | Mat day chuyen thanh gia V3](http://cauvong.net/img/grey.jpg)
|Mã: PDC87||59.000 VNĐ|
|Lượt xem: 9499|
[Mặt dây chuyền thánh giá V2](http://cauvong.net/san-pham/PDC86/Mat-day-chuyen-thanh-gia-V2.html) [](http://cauvong.net/san-pham/PDC86/Mat-day-chuyen-thanh-gia-V2.html)
![Mặt dây chuyền thánh giá V2 | Mat day chuyen thanh gia V2 Mặt dây chuyền thánh giá V2 | Mat day chuyen thanh gia V2](http://cauvong.net/img/grey.jpg)
|Mã: PDC86||49.000 VNĐ|
|Lượt xem: 11055|
[Mặt dây chuyền 3 tầng](http://cauvong.net/san-pham/PDC85/Mat-day-chuyen-3-tang.html) [](http://cauvong.net/san-pham/PDC85/Mat-day-chuyen-3-tang.html)
![Mặt dây chuyền 3 tầng | Mat day chuyen 3 tang Mặt dây chuyền 3 tầng | Mat day chuyen 3 tang](http://cauvong.net/img/grey.jpg)
|Mã: PDC85||105.000 VNĐ|
|Lượt xem: 9068|
[Mặt dây chuyền xí ngầu](http://cauvong.net/san-pham/PDC84/Mat-day-chuyen-xi-ngau.html) [](http://cauvong.net/san-pham/PDC84/Mat-day-chuyen-xi-ngau.html)
![Mặt dây chuyền xí ngầu | Mat day chuyen xi ngau Mặt dây chuyền xí ngầu | Mat day chuyen xi ngau](http://cauvong.net/img/grey.jpg)
|Mã: PDC84||55.000 VNĐ|
|Lượt xem: 9226|
[Mặt dây chuyền đôi Love](http://cauvong.net/san-pham/PDC83/Mat-day-chuyen-doi-Love.html) [](http://cauvong.net/san-pham/PDC83/Mat-day-chuyen-doi-Love.html)
![Mặt dây chuyền đôi Love | Mat day chuyen doi Love Mặt dây chuyền đôi Love | Mat day chuyen doi Love](http://cauvong.net/img/grey.jpg)
|Mã: PDC83||119.000 VNĐ|
|Lượt xem: 8538|
[Mặt dây chuyền chữ vạn](http://cauvong.net/san-pham/PDC82/Mat-day-chuyen-chu-van.html) [](http://cauvong.net/san-pham/PDC82/Mat-day-chuyen-chu-van.html)
![Mặt dây chuyền chữ vạn | Mat day chuyen chu van Mặt dây chuyền chữ vạn | Mat day chuyen chu van](http://cauvong.net/img/grey.jpg)
|Mã: PDC82||45.000 VNĐ|
|Lượt xem: 12672|
[Mặt dây chuyền Headphone](http://cauvong.net/san-pham/PDC81/Mat-day-chuyen-Headphone.html) [](http://cauvong.net/san-pham/PDC81/Mat-day-chuyen-Headphone.html)
![Mặt dây chuyền Headphone | Mat day chuyen Headphone Mặt dây chuyền Headphone | Mat day chuyen Headphone](http://cauvong.net/img/grey.jpg)
|Mã: PDC81||95.000 VNĐ|
|Lượt xem: 8765|
[Mặt dây chuyền Channel](http://cauvong.net/san-pham/PDC80/Mat-day-chuyen-Channel.html) [](http://cauvong.net/san-pham/PDC80/Mat-day-chuyen-Channel.html)
![Mặt dây chuyền Channel | Mat day chuyen Channel Mặt dây chuyền Channel | Mat day chuyen Channel](http://cauvong.net/img/grey.jpg)
|Mã: PDC80||45.000 VNĐ|
|Lượt xem: 9777|
[Dây chuyền cao su](http://cauvong.net/san-pham/PDC79/Day-chuyen-cao-su.html) [](http://cauvong.net/san-pham/PDC79/Day-chuyen-cao-su.html)
![Dây chuyền cao su | Day chuyen cao su Dây chuyền cao su | Day chuyen cao su](http://cauvong.net/img/grey.jpg)
|Mã: PDC79||13.000 VNĐ|
|Lượt xem: 13664|
[Mặt dây chuyền đôi cỏ 4 lá](http://cauvong.net/san-pham/PDC78/Mat-day-chuyen-doi-co-4-la.html) [](http://cauvong.net/san-pham/PDC78/Mat-day-chuyen-doi-co-4-la.html)
![Mặt dây chuyền đôi cỏ 4 lá | Mat day chuyen doi co 4 la Mặt dây chuyền đôi cỏ 4 lá | Mat day chuyen doi co 4 la](http://cauvong.net/img/grey.jpg)
|Mã: PDC78||129.000 VNĐ|
|Lượt xem: 9016|
[Mặt dây chuyền đôi trái tim V3](http://cauvong.net/san-pham/PDC77/Mat-day-chuyen-doi-trai-tim-V3.html) [](http://cauvong.net/san-pham/PDC77/Mat-day-chuyen-doi-trai-tim-V3.html)
![Mặt dây chuyền đôi trái tim V3 | Mat day chuyen doi trai tim V3 Mặt dây chuyền đôi trái tim V3 | Mat day chuyen doi trai tim V3](http://cauvong.net/img/grey.jpg)
|Mã: PDC77||129.000 VNĐ|
|Lượt xem: 9838|
[Mặt dây chuyền đôi Boy Girl](http://cauvong.net/san-pham/PDC76/Mat-day-chuyen-doi-Boy-Girl.html) [](http://cauvong.net/san-pham/PDC76/Mat-day-chuyen-doi-Boy-Girl.html)
![Mặt dây chuyền đôi Boy Girl | Mat day chuyen doi Boy Girl Mặt dây chuyền đôi Boy Girl | Mat day chuyen doi Boy Girl](http://cauvong.net/img/grey.jpg)
|Mã: PDC76||129.000 VNĐ|
|Lượt xem: 8717|
[Mặt dây chuyền đôi cỏ 4 lá](http://cauvong.net/san-pham/PDC75/Mat-day-chuyen-doi-co-4-la.html) [](http://cauvong.net/san-pham/PDC75/Mat-day-chuyen-doi-co-4-la.html)
![Mặt dây chuyền đôi cỏ 4 lá | Mat day chuyen doi co 4 la Mặt dây chuyền đôi cỏ 4 lá | Mat day chuyen doi co 4 la](http://cauvong.net/img/grey.jpg)
|Mã: PDC75||109.000 VNĐ|
|Lượt xem: 8316|
[Mặt dây chuyền Playboy V2](http://cauvong.net/san-pham/PDC74/Mat-day-chuyen-Playboy-V2.html) [](http://cauvong.net/san-pham/PDC74/Mat-day-chuyen-Playboy-V2.html)
![Mặt dây chuyền Playboy V2 | Mat day chuyen Playboy V2 Mặt dây chuyền Playboy V2 | Mat day chuyen Playboy V2](http://cauvong.net/img/grey.jpg)
|Mã: PDC74||39.000 VNĐ|
|Lượt xem: 16283|
[Mặt dây chuyền Playboy V1](http://cauvong.net/san-pham/PDC73/Mat-day-chuyen-Playboy-V1.html) [](http://cauvong.net/san-pham/PDC73/Mat-day-chuyen-Playboy-V1.html)
![Mặt dây chuyền Playboy V1 | Mat day chuyen Playboy V1 Mặt dây chuyền Playboy V1 | Mat day chuyen Playboy V1](http://cauvong.net/img/grey.jpg)
|Mã: PDC73||32.000 VNĐ|
|Lượt xem: 9569|
[Mặt dây chuyền đôi nốt nhạc](http://cauvong.net/san-pham/PDC71/Mat-day-chuyen-doi-not-nhac.html) [](http://cauvong.net/san-pham/PDC71/Mat-day-chuyen-doi-not-nhac.html)
![Mặt dây chuyền đôi nốt nhạc | Mat day chuyen doi not nhac Mặt dây chuyền đôi nốt nhạc | Mat day chuyen doi not nhac](http://cauvong.net/img/grey.jpg)
|Mã: PDC71||119.000 VNĐ|
|Lượt xem: 9759|
[Mặt dây chuyền chiếc dép V2](http://cauvong.net/san-pham/PDC70/Mat-day-chuyen-chiec-dep-V2.html) [](http://cauvong.net/san-pham/PDC70/Mat-day-chuyen-chiec-dep-V2.html)
![Mặt dây chuyền chiếc dép V2 | Mat day chuyen chiec dep V2 Mặt dây chuyền chiếc dép V2 | Mat day chuyen chiec dep V2](http://cauvong.net/img/grey.jpg)
|Mã: PDC70||49.000 VNĐ|
|Lượt xem: 9914|
[Mặt dây chuyền cây kéo](http://cauvong.net/san-pham/PDC69/Mat-day-chuyen-cay-keo.html) [](http://cauvong.net/san-pham/PDC69/Mat-day-chuyen-cay-keo.html)
![Mặt dây chuyền cây kéo | Mat day chuyen cay keo Mặt dây chuyền cây kéo | Mat day chuyen cay keo](http://cauvong.net/img/grey.jpg)
|Mã: PDC69||58.000 VNĐ|
|Lượt xem: 9359|
[Mặt dây chuyền bao thư V2](http://cauvong.net/san-pham/PDC68/Mat-day-chuyen-bao-thu-V2.html) [](http://cauvong.net/san-pham/PDC68/Mat-day-chuyen-bao-thu-V2.html)
![Mặt dây chuyền bao thư V2 | Mat day chuyen bao thu V2 Mặt dây chuyền bao thư V2 | Mat day chuyen bao thu V2](http://cauvong.net/img/grey.jpg)
|Mã: PDC68||165.000 VNĐ|
|Lượt xem: 11050|
[Mặt dây chuyền viên đạn V2](http://cauvong.net/san-pham/PDC67/Mat-day-chuyen-vien-dan-V2.html) [](http://cauvong.net/san-pham/PDC67/Mat-day-chuyen-vien-dan-V2.html)
![Mặt dây chuyền viên đạn V2 | Mat day chuyen vien dan V2 Mặt dây chuyền viên đạn V2 | Mat day chuyen vien dan V2](http://cauvong.net/img/grey.jpg)
|Mã: PDC67||75.000 VNĐ|
|Lượt xem: 9438|
[Bộ sưu tập mặt chữ dây chuyền](http://cauvong.net/san-pham/PDC66/Bo-suu-tap-mat-chu-day-chuyen.html) [](http://cauvong.net/san-pham/PDC66/Bo-suu-tap-mat-chu-day-chuyen.html)
![Bộ sưu tập mặt chữ dây chuyền | Bo suu tap mat chu day chuyen Bộ sưu tập mặt chữ dây chuyền | Bo suu tap mat chu day chuyen](http://cauvong.net/img/grey.jpg)
|Mã: PDC66||35.000 VNĐ|
|Lượt xem: 13128|
[Mặt dây chuyền bao thư](http://cauvong.net/san-pham/PDC65/Mat-day-chuyen-bao-thu.html) [](http://cauvong.net/san-pham/PDC65/Mat-day-chuyen-bao-thu.html)
![Mặt dây chuyền bao thư | Mat day chuyen bao thu Mặt dây chuyền bao thư | Mat day chuyen bao thu](http://cauvong.net/img/grey.jpg)
|Mã: PDC65||165.000 VNĐ|
|Lượt xem: 13416|
[Mặt dây chuyền cỏ 4 lá](http://cauvong.net/san-pham/PDC64/Mat-day-chuyen-co-4-la.html) [](http://cauvong.net/san-pham/PDC64/Mat-day-chuyen-co-4-la.html)
![Mặt dây chuyền cỏ 4 lá | Mat day chuyen co 4 la Mặt dây chuyền cỏ 4 lá | Mat day chuyen co 4 la](http://cauvong.net/img/grey.jpg)
|Mã: PDC64||79.000 VNĐ|
|Lượt xem: 12332|
[Mặt dây chuyền thánh giá](http://cauvong.net/san-pham/PDC63/Mat-day-chuyen-thanh-gia.html) [](http://cauvong.net/san-pham/PDC63/Mat-day-chuyen-thanh-gia.html)
![Mặt dây chuyền thánh giá | Mat day chuyen thanh gia Mặt dây chuyền thánh giá | Mat day chuyen thanh gia](http://cauvong.net/img/grey.jpg)
|Mã: PDC63||69.000 VNĐ|
|Lượt xem: 13964|
[Mặt dây chuyền chuồn chuồn](http://cauvong.net/san-pham/PDC62/Mat-day-chuyen-chuon-chuon.html) [](http://cauvong.net/san-pham/PDC62/Mat-day-chuyen-chuon-chuon.html)
![Mặt dây chuyền chuồn chuồn | Mat day chuyen chuon chuon Mặt dây chuyền chuồn chuồn | Mat day chuyen chuon chuon](http://cauvong.net/img/grey.jpg)
|Mã: PDC62||59.000 VNĐ|
|Lượt xem: 10143|
[Mặt dây chuyền lông vũ V2](http://cauvong.net/san-pham/PDC61/Mat-day-chuyen-long-vu-V2.html) [](http://cauvong.net/san-pham/PDC61/Mat-day-chuyen-long-vu-V2.html)
![Mặt dây chuyền lông vũ V2 | Mat day chuyen long vu V2 Mặt dây chuyền lông vũ V2 | Mat day chuyen long vu V2](http://cauvong.net/img/grey.jpg)
|Mã: PDC61||65.000 VNĐ|
|Lượt xem: 10034|
[Mặt dây chuyền viên đạn](http://cauvong.net/san-pham/PDC60/Mat-day-chuyen-vien-dan.html) [](http://cauvong.net/san-pham/PDC60/Mat-day-chuyen-vien-dan.html)
![Mặt dây chuyền viên đạn | Mat day chuyen vien dan Mặt dây chuyền viên đạn | Mat day chuyen vien dan](http://cauvong.net/img/grey.jpg)
|Mã: PDC60||75.000 VNĐ|
|Lượt xem: 15379|
[Mặt dây chuyền lông vũ](http://cauvong.net/san-pham/PDC59/Mat-day-chuyen-long-vu.html) [](http://cauvong.net/san-pham/PDC59/Mat-day-chuyen-long-vu.html)
![Mặt dây chuyền lông vũ | Mat day chuyen long vu Mặt dây chuyền lông vũ | Mat day chuyen long vu](http://cauvong.net/img/grey.jpg)
|Mã: PDC59||65.000 VNĐ|
|Lượt xem: 9522|
[Mặt dây chuyền 3 vòng](http://cauvong.net/san-pham/PDC57/Mat-day-chuyen-3-vong.html) [](http://cauvong.net/san-pham/PDC57/Mat-day-chuyen-3-vong.html)
![Mặt dây chuyền 3 vòng | Mat day chuyen 3 vong Mặt dây chuyền 3 vòng | Mat day chuyen 3 vong](http://cauvong.net/img/grey.jpg)
|Mã: PDC57||69.000 VNĐ|
|Lượt xem: 10229|
[Mặt dây chuyền bàn tính](http://cauvong.net/san-pham/PDC44/Mat-day-chuyen-ban-tinh.html) [](http://cauvong.net/san-pham/PDC44/Mat-day-chuyen-ban-tinh.html)
![Mặt dây chuyền bàn tính | Mat day chuyen ban tinh Mặt dây chuyền bàn tính | Mat day chuyen ban tinh](http://cauvong.net/img/grey.jpg)
|Mã: PDC44||75.000 VNĐ|
|Lượt xem: 9814|
[Mặt dây chuyền lựu đạn](http://cauvong.net/san-pham/PDC42/Mat-day-chuyen-luu-dan.html) [](http://cauvong.net/san-pham/PDC42/Mat-day-chuyen-luu-dan.html)
![Mặt dây chuyền lựu đạn | Mat day chuyen luu dan Mặt dây chuyền lựu đạn | Mat day chuyen luu dan](http://cauvong.net/img/grey.jpg)
|Mã: PDC42||69.000 VNĐ|
|Lượt xem: 10379|
[Mặt dây chuyền đôi trái tim chìa khóa](http://cauvong.net/san-pham/PDC33/Mat-day-chuyen-doi-trai-tim-chia-khoa.html) [](http://cauvong.net/san-pham/PDC33/Mat-day-chuyen-doi-trai-tim-chia-khoa.html)
![Mặt dây chuyền đôi trái tim chìa khóa | Mat day chuyen doi trai tim chia khoa Mặt dây chuyền đôi trái tim chìa khóa | Mat day chuyen doi trai tim chia khoa](http://cauvong.net/img/grey.jpg)
|Mã: PDC33||95.000 VNĐ|
|Lượt xem: 11762|
[Dây chuyền mặt chữ BigBang](http://cauvong.net/san-pham/PDC31/Day-chuyen-mat-chu-BigBang.html) [](http://cauvong.net/san-pham/PDC31/Day-chuyen-mat-chu-BigBang.html)
![Dây chuyền mặt chữ BigBang | Day chuyen mat chu BigBang Dây chuyền mặt chữ BigBang | Day chuyen mat chu BigBang](http://cauvong.net/img/grey.jpg)
|Mã: PDC31||55.000 VNĐ|
|Lượt xem: 15470|
[Dây chuyền mặt chữ 2NE1 V2](http://cauvong.net/san-pham/PDC30/Day-chuyen-mat-chu-2NE1-V2.html) [](http://cauvong.net/san-pham/PDC30/Day-chuyen-mat-chu-2NE1-V2.html)
![Dây chuyền mặt chữ 2NE1 V2 | Day chuyen mat chu 2NE1 V2 Dây chuyền mặt chữ 2NE1 V2 | Day chuyen mat chu 2NE1 V2](http://cauvong.net/img/grey.jpg)
|Mã: PDC30||55.000 VNĐ|
|Lượt xem: 9080|
[Dây chuyền mặt chữ Honey](http://cauvong.net/san-pham/PDC29/Day-chuyen-mat-chu-Honey.html) [](http://cauvong.net/san-pham/PDC29/Day-chuyen-mat-chu-Honey.html)
![Dây chuyền mặt chữ Honey | Day chuyen mat chu Honey Dây chuyền mặt chữ Honey | Day chuyen mat chu Honey](http://cauvong.net/img/grey.jpg)
|Mã: PDC29||55.000 VNĐ|
|Lượt xem: 9201|
[Dây chuyền mặt chữ Love](http://cauvong.net/san-pham/PDC28/Day-chuyen-mat-chu-Love.html) [](http://cauvong.net/san-pham/PDC28/Day-chuyen-mat-chu-Love.html)
![Dây chuyền mặt chữ Love | Day chuyen mat chu Love Dây chuyền mặt chữ Love | Day chuyen mat chu Love](http://cauvong.net/img/grey.jpg)
|Mã: PDC28||55.000 VNĐ|
|Lượt xem: 9292|
[Dây chuyền mặt chữ SUJU](http://cauvong.net/san-pham/PDC27/Day-chuyen-mat-chu-SUJU.html) [](http://cauvong.net/san-pham/PDC27/Day-chuyen-mat-chu-SUJU.html)
![Dây chuyền mặt chữ SUJU | Day chuyen mat chu SUJU Dây chuyền mặt chữ SUJU | Day chuyen mat chu SUJU](http://cauvong.net/img/grey.jpg)
|Mã: PDC27||55.000 VNĐ|
|Lượt xem: 11092|
[Dây chuyền mặt chữ I Love You](http://cauvong.net/san-pham/PDC26/Day-chuyen-mat-chu-I-Love-You.html) [](http://cauvong.net/san-pham/PDC26/Day-chuyen-mat-chu-I-Love-You.html)
![Dây chuyền mặt chữ I Love You | Day chuyen mat chu I Love You Dây chuyền mặt chữ I Love You | Day chuyen mat chu I Love You](http://cauvong.net/img/grey.jpg)
|Mã: PDC26||55.000 VNĐ|
|Lượt xem: 11598|
[Dây chuyền mặt chữ Kiss You](http://cauvong.net/san-pham/PDC25/Day-chuyen-mat-chu-Kiss-You.html) [](http://cauvong.net/san-pham/PDC25/Day-chuyen-mat-chu-Kiss-You.html)
![Dây chuyền mặt chữ Kiss You | Day chuyen mat chu Kiss You Dây chuyền mặt chữ Kiss You | Day chuyen mat chu Kiss You](http://cauvong.net/img/grey.jpg)
|Mã: PDC25||55.000 VNĐ|
|Lượt xem: 8979|
[Dây chuyền mặt chữ nhóm 2NE1](http://cauvong.net/san-pham/PDC24/Day-chuyen-mat-chu-nhom-2NE1.html) [](http://cauvong.net/san-pham/PDC24/Day-chuyen-mat-chu-nhom-2NE1.html)
![Dây chuyền mặt chữ nhóm 2NE1 | Day chuyen mat chu nhom 2NE1 Dây chuyền mặt chữ nhóm 2NE1 | Day chuyen mat chu nhom 2NE1](http://cauvong.net/img/grey.jpg)
|Mã: PDC24||55.000 VNĐ|
|Lượt xem: 10578|
[Dây chuyền mặt chữ Princess](http://cauvong.net/san-pham/PDC23/Day-chuyen-mat-chu-Princess.html) [](http://cauvong.net/san-pham/PDC23/Day-chuyen-mat-chu-Princess.html)
![Dây chuyền mặt chữ Princess | Day chuyen mat chu Princess Dây chuyền mặt chữ Princess | Day chuyen mat chu Princess](http://cauvong.net/img/grey.jpg)
|Mã: PDC23||55.000 VNĐ|
|Lượt xem: 9133|
[Dây chuyền mặt chữ You ](http://cauvong.net/san-pham/PDC22/Day-chuyen-mat-chu-You.html) [](http://cauvong.net/san-pham/PDC22/Day-chuyen-mat-chu-You.html)
![Dây chuyền mặt chữ You | Day chuyen mat chu You Dây chuyền mặt chữ You | Day chuyen mat chu You](http://cauvong.net/img/grey.jpg)
|Mã: PDC22||55.000 VNĐ|
|Lượt xem: 8946|
[Dây chuyền mặt chữ I Love You](http://cauvong.net/san-pham/PDC21/Day-chuyen-mat-chu-I-Love-You.html) [](http://cauvong.net/san-pham/PDC21/Day-chuyen-mat-chu-I-Love-You.html)
![Dây chuyền mặt chữ I Love You | Day chuyen mat chu I Love You Dây chuyền mặt chữ I Love You | Day chuyen mat chu I Love You](http://cauvong.net/img/grey.jpg)
|Mã: PDC21||55.000 VNĐ|
|Lượt xem: 8989|
[Dây chuyền chữ Only Love](http://cauvong.net/san-pham/PDC20/Day-chuyen-chu-Only-Love.html) [](http://cauvong.net/san-pham/PDC20/Day-chuyen-chu-Only-Love.html)
![Dây chuyền chữ Only Love | Day chuyen chu Only Love Dây chuyền chữ Only Love | Day chuyen chu Only Love](http://cauvong.net/img/grey.jpg)
|Mã: PDC20||55.000 VNĐ|
|Lượt xem: 9196|
[Mặt dây chuyền đôi giới tính](http://cauvong.net/san-pham/PDC19/Mat-day-chuyen-doi-gioi-tinh.html) [](http://cauvong.net/san-pham/PDC19/Mat-day-chuyen-doi-gioi-tinh.html)
![Mặt dây chuyền đôi giới tính | Mat day chuyen doi gioi tinh Mặt dây chuyền đôi giới tính | Mat day chuyen doi gioi tinh](http://cauvong.net/img/grey.jpg)
|Mã: PDC19||149.000 VNĐ|
|Lượt xem: 9617|
[Mặt dây chuyền viên thuốc](http://cauvong.net/san-pham/PDC18/Mat-day-chuyen-vien-thuoc.html) [](http://cauvong.net/san-pham/PDC18/Mat-day-chuyen-vien-thuoc.html)
![Mặt dây chuyền viên thuốc | Mat day chuyen vien thuoc Mặt dây chuyền viên thuốc | Mat day chuyen vien thuoc](http://cauvong.net/img/grey.jpg)
|Mã: PDC18||59.000 VNĐ|
|Lượt xem: 12518|
[Mặt dây chuyền lưỡi lam](http://cauvong.net/san-pham/PDC17/Mat-day-chuyen-luoi-lam.html) [](http://cauvong.net/san-pham/PDC17/Mat-day-chuyen-luoi-lam.html)
![Mặt dây chuyền lưỡi lam | Mat day chuyen luoi lam Mặt dây chuyền lưỡi lam | Mat day chuyen luoi lam](http://cauvong.net/img/grey.jpg)
|Mã: PDC17||35.000 VNĐ|
|Lượt xem: 16975|
[Mặt dây chuyền rồng trắng](http://cauvong.net/san-pham/PDC15/Mat-day-chuyen-rong-trang.html) [](http://cauvong.net/san-pham/PDC15/Mat-day-chuyen-rong-trang.html)
![Mặt dây chuyền rồng trắng | Mat day chuyen rong trang Mặt dây chuyền rồng trắng | Mat day chuyen rong trang](http://cauvong.net/img/grey.jpg)
|Mã: PDC15||79.000 VNĐ|
|Lượt xem: 9540|
[Mặt dây chuyền rồng V1](http://cauvong.net/san-pham/PDC14/Mat-day-chuyen-rong-V1.html) [](http://cauvong.net/san-pham/PDC14/Mat-day-chuyen-rong-V1.html)
![Mặt dây chuyền rồng V1 | Mat day chuyen rong V1 Mặt dây chuyền rồng V1 | Mat day chuyen rong V1](http://cauvong.net/img/grey.jpg)
|Mã: PDC14||95.000 VNĐ|
|Lượt xem: 10671|
[Mặt dây chuyền đôi trái tim V2](http://cauvong.net/san-pham/PDC13/Mat-day-chuyen-doi-trai-tim-V2.html) [](http://cauvong.net/san-pham/PDC13/Mat-day-chuyen-doi-trai-tim-V2.html)
![Mặt dây chuyền đôi trái tim V2 | Mat day chuyen doi trai tim V2 Mặt dây chuyền đôi trái tim V2 | Mat day chuyen doi trai tim V2](http://cauvong.net/img/grey.jpg)
|Mã: PDC13||129.000 VNĐ|
|Lượt xem: 12424|
[Mặt dây chuyền đôi giới tính V2](http://cauvong.net/san-pham/PDC12/Mat-day-chuyen-doi-gioi-tinh-V2.html) [](http://cauvong.net/san-pham/PDC12/Mat-day-chuyen-doi-gioi-tinh-V2.html)
![Mặt dây chuyền đôi giới tính V2 | Mat day chuyen doi gioi tinh V2 Mặt dây chuyền đôi giới tính V2 | Mat day chuyen doi gioi tinh V2](http://cauvong.net/img/grey.jpg)
|Mã: PDC12||129.000 VNĐ|
|Lượt xem: 10111|
[Mặt dây chuyền chiếc dép](http://cauvong.net/san-pham/PDC11/Mat-day-chuyen-chiec-dep.html) [](http://cauvong.net/san-pham/PDC11/Mat-day-chuyen-chiec-dep.html)
![Mặt dây chuyền chiếc dép | Mat day chuyen chiec dep Mặt dây chuyền chiếc dép | Mat day chuyen chiec dep](http://cauvong.net/img/grey.jpg)
|Mã: PDC11||25.000 VNĐ|
|Lượt xem: 10163|
[Mặt dây chuyền đôi trái tim](http://cauvong.net/san-pham/PDC8/Mat-day-chuyen-doi-trai-tim.html) [](http://cauvong.net/san-pham/PDC8/Mat-day-chuyen-doi-trai-tim.html)
![Mặt dây chuyền đôi trái tim | Mat day chuyen doi trai tim Mặt dây chuyền đôi trái tim | Mat day chuyen doi trai tim](http://cauvong.net/img/grey.jpg)
|Mã: PDC8||129.000 VNĐ|
|Lượt xem: 11872|
[Mặt dây chuyền đôi mũi tên Cupid](http://cauvong.net/san-pham/PDC7/Mat-day-chuyen-doi-mui-ten-Cupid.html) [](http://cauvong.net/san-pham/PDC7/Mat-day-chuyen-doi-mui-ten-Cupid.html)
![Mặt dây chuyền đôi mũi tên Cupid | Mat day chuyen doi mui ten Cupid Mặt dây chuyền đôi mũi tên Cupid | Mat day chuyen doi mui ten Cupid](http://cauvong.net/img/grey.jpg)
|Mã: PDC7||119.000 VNĐ|
|Lượt xem: 9479|
[Mặt dây chuyền đôi cỏ 4 lá](http://cauvong.net/san-pham/PDC1/Mat-day-chuyen-doi-co-4-la.html) [](http://cauvong.net/san-pham/PDC1/Mat-day-chuyen-doi-co-4-la.html)
![Mặt dây chuyền đôi cỏ 4 lá | Mat day chuyen doi co 4 la Mặt dây chuyền đôi cỏ 4 lá | Mat day chuyen doi co 4 la](http://cauvong.net/img/grey.jpg)
|Mã: PDC1||129.000 VNĐ|
|Lượt xem: 10372|

WARC-Identified-Payload-Type: application/xhtml+xml

Server: LiteSpeed

Accept-Ranges: bytes

Cache-Control: public, max-age=172800

Vary: Accept-Encoding,User-Agent


text:
- Trang chủ
- Giới Thiệu
-
Dịch Vụ
- Cây cảnh
- Tiểu cảnh
cây công trình
Chuyên cung cấp các loại cây công trình, cây công nghiệp, cây nông nghiệp, cây trồng bóng mát, cây trồng có hoa, cây trồng hàng rào, cây trồng công cộng, cây trồng trước sân nhà,... Ngoài dịch vụ cung cấp cây trồng công trình, Cây xanh ý tưởng mới còn có dịch vụ trồng và chăm sóc bảo dưỡng cây Cảnh, khi trồng cây chúng tôi bảo hành cây trong vòng 6 tháng. Những cây công trình của Cây xanh ý tưởng mới được chon lọc rất kỷ nên quý khách yên tâm về chất lượng và và chúng tôi luôn đảm bảo về số lượng. Đến với dịch vụ của chúng tôi, quý khách sẽ được các kỷ sư tư vấn miễn phí về các loại cây cũng như là cách chăm sóc và bảo dưỡng cây xanh. Dưới đây là những cây công trình được trồng nhiều nhất hiện nay.Danh sách Hiển thị: LướiSắp xếp theo:Hiển thị:
Cây bằng lăng1VNĐ Trước thuế: 1VNĐ
Cây bằng lăng, cung cấp cây bằng lăng tím giá rẻ Cây bằng lăng c&.....
Cây bàng ta giá rẻ0VNĐ Trước thuế: 0VNĐ
Bán, trồng và chăm sóc cây bàng ta, cây công trì.....
Cây bàng đài loan0VNĐ Trước thuế: 0VNĐ
Cây bàng Đài Loan - bán, trồng và chăm sóc cây b&agra.....
Cây bồ đề0VNĐ Trước thuế: 0VNĐ
Cây Bồ Đề, cung cây cây bồ đề cổ thụ, cây bồ đề bonsai Cây bồ đề l&.....
Cây bông giấy1VNĐ Trước thuế: 1VNĐ
Cây bông giấy, cung cấp cây bông giấy giá rẻ Cây bông .....
Cây cau nga mi0VNĐ Trước thuế: 0VNĐ
Cây cau nga mi, Dịch vụ trồng và chăm sóc cây cảnh Cây cau nga mi.....
cây cau sâm banh0VNĐ Trước thuế: 0VNĐ
Cây cau sâm banh, cung cấp sỉ và lẻ cây cau sâm banh Khác v.....
Cây cau vua1VNĐ Trước thuế: 1VNĐ
Cây cau vua, trồng và chăm sóc cây cau vua Cây cau vua có .....
Cây chuối rẻ quạt350.000VNĐ Trước thuế: 350.000VNĐ
Cây chuối rẽ quạt, cung cấp cây chuối rẻ quạt. Cây có tên chuối rẽ.....
Cây cọ dầu1.000VNĐ Trước thuế: 1.000VNĐ
Cây cọ dầu - Chuyên cung cấp, trồng và chăm sóc cây cọ dầu C&acir.....
Cây dầu rái0VNĐ Trước thuế: 0VNĐ
Cây dầu rái, trồng và chăm sóc cây dầu rái Cây dầu .....
Cây dừa thốt nốt0VNĐ Trước thuế: 0VNĐ
Cây Thốt nốt, cây dừa thốt nốt - trồng và chăm sóc cây công tr.....
Cây giá tỵ0VNĐ Trước thuế: 0VNĐ
Cây giá tỵ, cung cấp cây giá tỵ giá rẻ Cây giá tỵ k.....
Cây giáng hương0VNĐ Trước thuế: 0VNĐ
Cây giáng hương - cung cấp cây giáng hương trên toàn quốc .....
Cây hoàng nam0VNĐ Trước thuế: 0VNĐ
Cây hoàng nam - Cung cấp cây hoàng lớn, nhỏ Cây hoàng nam .....
Cây hồng lộc400.000VNĐ Trước thuế: 400.000VNĐ
Cây hồng lộc - Dịch vụ trồng cây công trình Cây hồng lộc là.....
Cây kè bạc0VNĐ Trước thuế: 0VNĐ
Cậy Kè Bạc, Cây Cọ Bạc - Cung cấp cây xanh công trình Cây C.....
Cây kè nhật0VNĐ Trước thuế: 0VNĐ
Cây kè nhật - cung cấp cây kè nhật Cây kè nhật có h.....
Cây liễu rũ0VNĐ Trước thuế: 0VNĐ
Cây liễu rũ, dịch vụ trồng và chăm sóc cây liễu rũ Cây liễu rũ l&.....
Cây lim sét0VNĐ Trước thuế: 0VNĐ
Cây lim sét, cây lim xẹt, cung cấp cây xanh bóng mát C&aci.....
Cây lộc vừng1.000VNĐ Trước thuế: 1.000VNĐ
Cây lộc vừng - Trồng và chăm sóc cây lộc vừng Cây lộc vừng được p.....
Cây long não0VNĐ Trước thuế: 0VNĐ
Cây long não - cung cấp cây và giống cây long não Câ.....
Cây mắt nai0VNĐ Trước thuế: 0VNĐ
CÂY MẮT NAI Cây mắt nai hay còn gọi là cây mắt nhung. Tên k.....
Cây móng bò0VNĐ Trước thuế: 0VNĐ
Cây móng bò - Dịch vụ trồng cây công trình Cây m&oac.....
Cây muồng hoa vàng0VNĐ Trước thuế: 0VNĐ
Cây muồng hoa vàng - cây muồng đen - cây muồng hồng đào Cây.....
Cây ngọc lan0VNĐ Trước thuế: 0VNĐ
Cây ngọc lan Cây ngọc lan có tên gọi khác là hoa ngọc lan .....
Cây nguyệt quế0VNĐ Trước thuế: 0VNĐ
CÂY NGUYỆT QUẾ Cây nguyệt quế còn được gọi là cây Nguyệt quới, ng.....
Cây osaka vàng1.000VNĐ Trước thuế: 1.000VNĐ
Cây osaka vàng, cây hoàng yến, cây bò cạp nước, cây hoa.....
Cây osaka đỏ1.100VNĐ Trước thuế: 1.100VNĐ
Cây Osaka Đỏ, Cây Muồng Hoa Đỏ, Cây Vông Đồng, Cây Móng Qu.....
Cây phi lao0VNĐ Trước thuế: 0VNĐ
Cây phi lao, Cây dương liễu, cung cấp giống cây Tuy cây phi lao.....
cây phúc0VNĐ Trước thuế: 0VNĐ
Cây Phúc Cây phúc có hình dáng hoa lạ và ma.....
Cây phượng vĩ0VNĐ Trước thuế: 0VNĐ
Cây phượng vĩ Cây phượng vĩ rất dễ nhận diện bởi chúng có một mà.....
Cây sa kê0VNĐ Trước thuế: 0VNĐ
Cây Sake, cung cấp cây sa kê Cây Sake ( cây sa kê )là .....
Cây sanh1.000VNĐ Trước thuế: 1.000VNĐ
Cây Sanh, cây sanh cổ thụ, cây sanh tầng, cây sanh chi, cây sanh bonsa.....
Cây sấu, cung cấp giống cây sấu0VNĐ Trước thuế: 0VNĐ
Cây sấu, cung cấp giống cây sấu Cây sấu là một loại cây thường sốn.....
Cây si1.000VNĐ Trước thuế: 1.000VNĐ
Cây Si, cây si cổ thụ, cây si tầng, cây si cắt côn, tường cây si.....
Cây sộp0VNĐ Trước thuế: 0VNĐ
Cây sộp Cây sộp là loại cây gỗ nhỏ, và là loại cây s.....
Cây sứ đại1.000VNĐ Trước thuế: 1.000VNĐ
Cây sứ đại trắng, cây sứ trắng, cung cấp cây sứ Cây có nguồn gốc t.....
Cây sứ đại hồng0VNĐ Trước thuế: 0VNĐ
Cây sứ đại hồng, cây sứ đại đỏ, trồng và chăm sóc cây hoa sứ. C&a.....
Cây tha la0VNĐ Trước thuế: 0VNĐ
Cây tha la, cung cấp cây tha la công trình Cũng giống như cây bồ đ.....
Cây thiên tuế1.950.000VNĐ Trước thuế: 1.950.000VNĐ
Bán và cho thuê cây thiên tuế sỉ và lẻ Cây thiê.....
Cây tre vàng sọc0VNĐ Trước thuế: 0VNĐ
Cây tre vàng, cung cấp cây tre sọc vàng Cây tre vàng sọc l.....
Cây trúc quan âm0VNĐ Trước thuế: 0VNĐ
Cây trúc quan âm, cung cấp cây trúc quan âm, trúc đ&ugr.....
Cây trúc quân tử0VNĐ Trước thuế: 0VNĐ
Cây trúc quân tử - cung cấp và trồng cây trúc quân tử g.....
Cây trúc xanh, cây trúc cần câu0VNĐ Trước thuế: 0VNĐ
Cây trúc xanh, cây trúc cần câu, cung cấp cây trúc gi&a.....
Cây tùng bách tán0VNĐ Trước thuế: 0VNĐ
Cây tùng bách tán, trồng cây tùng bách tán tr&.....
cây vàng anh0VNĐ Trước thuế: 0VNĐ
Cây vàng anh Vào mùa xuân chúng ta thường bắt gặp những c.....
Cây viết0VNĐ Trước thuế: 0VNĐ
Cây viết, trồng cúng cấp giống cây viết Cây viết là một trong nhữ.....
- Cây cảnh

markdown:
**New ideas shop** [](javascript:;)
-
[Trang chủ](http://cayxanhvanphong.net/)
-
[Giới Thiệu](http://cayxanhvanphong.net/gioi-thieu)
-
[Dịch Vụ]() [Cây cảnh](http://cayxanhvanphong.net/) [Tiểu cảnh]()
# cây công trình
Chuyên cung cấp các loại
*,* **cây công trình** *cây công nghiệp, cây nông nghiệp, cây trồng bóng mát, cây trồng có hoa, cây trồng hàng rào, cây trồng công cộng, cây trồng trước sân nhà*,... Ngoài dịch vụ cung cấp *cây trồng công trình*, *Cây xanh ý tưởng mới*còn có [, khi trồng cây chúng tôi bảo hành cây trong vòng 6 tháng. Những](http://cayxanhvanphong.net/) **dịch vụ trồng và chăm sóc bảo dưỡng cây Cảnh** *cây công trình*của **Cây xanh ý tưởng**mới được chon lọc rất kỷ nên quý khách yên tâm về chất lượng và và chúng tôi luôn đảm bảo về số lượng. Đến với dịch vụ của chúng tôi, quý khách sẽ được các kỷ sư tư vấn miễn phí về các loại cây cũng như là *cách chăm sóc và bảo dưỡng cây xanh*. Dưới đây là những cây công trình được trồng nhiều nhất hiện nay.Danh sách Hiển thị: [Lưới]Sắp xếp theo:Hiển thị: [Cây bằng lăng](http://cayxanhvanphong.net/cay-cong-trinh/cay-bang-lang.html)1VNĐ Trước thuế: 1VNĐ
Cây bằng lăng, cung cấp cây bằng lăng tím giá rẻ Cây bằng lăng c&.....
[Cây bàng ta giá rẻ](http://cayxanhvanphong.net/cay-cong-trinh/cay-ban-ta-gia-re.html)0VNĐ Trước thuế: 0VNĐ
Bán, trồng và chăm sóc cây bàng ta, cây công trì.....
[Cây bàng đài loan](http://cayxanhvanphong.net/cay-cong-trinh/cay-bang-dai-loan.html)0VNĐ Trước thuế: 0VNĐ
Cây bàng Đài Loan - bán, trồng và chăm sóc cây b&agra.....
[Cây bồ đề](http://cayxanhvanphong.net/cay-cong-trinh/cay-bo-de.html)0VNĐ Trước thuế: 0VNĐ
Cây Bồ Đề, cung cây cây bồ đề cổ thụ, cây bồ đề bonsai Cây bồ đề l&.....
[Cây bông giấy](http://cayxanhvanphong.net/cay-cong-trinh/cay-bong-giay.html)1VNĐ Trước thuế: 1VNĐ
Cây bông giấy, cung cấp cây bông giấy giá rẻ Cây bông .....
[Cây cau nga mi](http://cayxanhvanphong.net/cay-cong-trinh/cay-cau-nga-mi.html)0VNĐ Trước thuế: 0VNĐ
Cây cau nga mi, Dịch vụ trồng và chăm sóc cây cảnh Cây cau nga mi.....
[cây cau sâm banh](http://cayxanhvanphong.net/cay-cong-trinh/cay-cau-sam-banh.html)0VNĐ Trước thuế: 0VNĐ
Cây cau sâm banh, cung cấp sỉ và lẻ cây cau sâm banh Khác v.....
[Cây cau vua](http://cayxanhvanphong.net/cay-cong-trinh/cay-cau-vua.html)1VNĐ Trước thuế: 1VNĐ
Cây cau vua, trồng và chăm sóc cây cau vua Cây cau vua có .....
[Cây chuối rẻ quạt](http://cayxanhvanphong.net/cay-cong-trinh/cay-chuoi-re-quat.html)350.000VNĐ Trước thuế: 350.000VNĐ
Cây chuối rẽ quạt, cung cấp cây chuối rẻ quạt. Cây có tên chuối rẽ.....
[Cây cọ dầu](http://cayxanhvanphong.net/cay-cong-trinh/cay-co-dau.html)1.000VNĐ Trước thuế: 1.000VNĐ
Cây cọ dầu - Chuyên cung cấp, trồng và chăm sóc cây cọ dầu C&acir.....
[Cây dầu rái](http://cayxanhvanphong.net/cay-cong-trinh/cay-dau-rai.html)0VNĐ Trước thuế: 0VNĐ
Cây dầu rái, trồng và chăm sóc cây dầu rái Cây dầu .....
[Cây dừa thốt nốt](http://cayxanhvanphong.net/cay-cong-trinh/cay-dua-thot-not.html)0VNĐ Trước thuế: 0VNĐ
Cây Thốt nốt, cây dừa thốt nốt - trồng và chăm sóc cây công tr.....
[Cây giá tỵ](http://cayxanhvanphong.net/cay-cong-trinh/cay-gia-ty.html)0VNĐ Trước thuế: 0VNĐ
Cây giá tỵ, cung cấp cây giá tỵ giá rẻ Cây giá tỵ k.....
[Cây giáng hương](http://cayxanhvanphong.net/cay-cong-trinh/cay-giang-huong.html)0VNĐ Trước thuế: 0VNĐ
Cây giáng hương - cung cấp cây giáng hương trên toàn quốc .....
[Cây hoàng nam](http://cayxanhvanphong.net/cay-cong-trinh/cay-hoang-nam.html)0VNĐ Trước thuế: 0VNĐ
Cây hoàng nam - Cung cấp cây hoàng lớn, nhỏ Cây hoàng nam .....
[Cây hồng lộc](http://cayxanhvanphong.net/cay-cong-trinh/cay-hong-loc.html)400.000VNĐ Trước thuế: 400.000VNĐ
Cây hồng lộc - Dịch vụ trồng cây công trình Cây hồng lộc là.....
[Cây kè bạc](http://cayxanhvanphong.net/cay-cong-trinh/cay-ke-bac.html)0VNĐ Trước thuế: 0VNĐ
Cậy Kè Bạc, Cây Cọ Bạc - Cung cấp cây xanh công trình Cây C.....
[Cây kè nhật](http://cayxanhvanphong.net/cay-cong-trinh/cay-ke-nhat.html)0VNĐ Trước thuế: 0VNĐ
Cây kè nhật - cung cấp cây kè nhật Cây kè nhật có h.....
[Cây liễu rũ](http://cayxanhvanphong.net/cay-cong-trinh/cay-lieu-ru.html)0VNĐ Trước thuế: 0VNĐ
Cây liễu rũ, dịch vụ trồng và chăm sóc cây liễu rũ Cây liễu rũ l&.....
[Cây lim sét](http://cayxanhvanphong.net/cay-cong-trinh/cay-lim-set.html)0VNĐ Trước thuế: 0VNĐ
Cây lim sét, cây lim xẹt, cung cấp cây xanh bóng mát C&aci.....
[Cây lộc vừng](http://cayxanhvanphong.net/cay-cong-trinh/cay-loc-vung.html)1.000VNĐ Trước thuế: 1.000VNĐ
Cây lộc vừng - Trồng và chăm sóc cây lộc vừng Cây lộc vừng được p.....
[Cây long não](http://cayxanhvanphong.net/cay-cong-trinh/cay-long-nao.html)0VNĐ Trước thuế: 0VNĐ
Cây long não - cung cấp cây và giống cây long não Câ.....
[Cây mắt nai](http://cayxanhvanphong.net/cay-cong-trinh/cay-mat-nai.html)0VNĐ Trước thuế: 0VNĐ
CÂY MẮT NAI Cây mắt nai hay còn gọi là cây mắt nhung. Tên k.....
[Cây móng bò](http://cayxanhvanphong.net/cay-cong-trinh/cay-mong-bo.html)0VNĐ Trước thuế: 0VNĐ
Cây móng bò - Dịch vụ trồng cây công trình Cây m&oac.....
[Cây muồng hoa vàng](http://cayxanhvanphong.net/cay-cong-trinh/cay-muong-hoa-vang.html)0VNĐ Trước thuế: 0VNĐ
Cây muồng hoa vàng - cây muồng đen - cây muồng hồng đào Cây.....
[Cây ngọc lan](http://cayxanhvanphong.net/cay-cong-trinh/cay-ngoc-lan.html)0VNĐ Trước thuế: 0VNĐ
Cây ngọc lan Cây ngọc lan có tên gọi khác là hoa ngọc lan .....
[Cây nguyệt quế](http://cayxanhvanphong.net/cay-cong-trinh/cay-nguyet-que.html)0VNĐ Trước thuế: 0VNĐ
CÂY NGUYỆT QUẾ Cây nguyệt quế còn được gọi là cây Nguyệt quới, ng.....
[Cây osaka vàng](http://cayxanhvanphong.net/cay-cong-trinh/cay-osaka-vang.html)1.000VNĐ Trước thuế: 1.000VNĐ
Cây osaka vàng, cây hoàng yến, cây bò cạp nước, cây hoa.....
[Cây osaka đỏ](http://cayxanhvanphong.net/cay-cong-trinh/cay-osaka-do.html)1.100VNĐ Trước thuế: 1.100VNĐ
Cây Osaka Đỏ, Cây Muồng Hoa Đỏ, Cây Vông Đồng, Cây Móng Qu.....
[Cây phi lao](http://cayxanhvanphong.net/cay-cong-trinh/cay-phi-lao.html)0VNĐ Trước thuế: 0VNĐ
Cây phi lao, Cây dương liễu, cung cấp giống cây Tuy cây phi lao.....
[cây phúc](http://cayxanhvanphong.net/cay-cong-trinh/cay-phuc.html)0VNĐ Trước thuế: 0VNĐ
Cây Phúc Cây phúc có hình dáng hoa lạ và ma.....
[Cây phượng vĩ](http://cayxanhvanphong.net/cay-cong-trinh/cay-phuong-vi.html)0VNĐ Trước thuế: 0VNĐ
Cây phượng vĩ Cây phượng vĩ rất dễ nhận diện bởi chúng có một mà.....
[Cây sa kê](http://cayxanhvanphong.net/cay-cong-trinh/cay-sake.html)0VNĐ Trước thuế: 0VNĐ
Cây Sake, cung cấp cây sa kê Cây Sake ( cây sa kê )là .....
[Cây sanh](http://cayxanhvanphong.net/cay-cong-trinh/cay-sanh.html)1.000VNĐ Trước thuế: 1.000VNĐ
Cây Sanh, cây sanh cổ thụ, cây sanh tầng, cây sanh chi, cây sanh bonsa.....
[Cây sấu, cung cấp giống cây sấu](http://cayxanhvanphong.net/cay-cong-trinh/cay-sau-cung-cap-cay-sau-gia-re.html)0VNĐ Trước thuế: 0VNĐ
Cây sấu, cung cấp giống cây sấu Cây sấu là một loại cây thường sốn.....
[Cây si](http://cayxanhvanphong.net/cay-cong-trinh/cay-si.html)1.000VNĐ Trước thuế: 1.000VNĐ
Cây Si, cây si cổ thụ, cây si tầng, cây si cắt côn, tường cây si.....
[Cây sộp](http://cayxanhvanphong.net/cay-cong-trinh/cay-sop.html)0VNĐ Trước thuế: 0VNĐ
Cây sộp Cây sộp là loại cây gỗ nhỏ, và là loại cây s.....
[Cây sứ đại](http://cayxanhvanphong.net/cay-cong-trinh/cay-su-dai.html)1.000VNĐ Trước thuế: 1.000VNĐ
Cây sứ đại trắng, cây sứ trắng, cung cấp cây sứ Cây có nguồn gốc t.....
[Cây sứ đại hồng](http://cayxanhvanphong.net/cay-cong-trinh/cay-su-dai-hong.html)0VNĐ Trước thuế: 0VNĐ
Cây sứ đại hồng, cây sứ đại đỏ, trồng và chăm sóc cây hoa sứ. C&a.....
[Cây tha la](http://cayxanhvanphong.net/cay-cong-trinh/cay-tha-la.html)0VNĐ Trước thuế: 0VNĐ
Cây tha la, cung cấp cây tha la công trình Cũng giống như cây bồ đ.....
[Cây thiên tuế](http://cayxanhvanphong.net/cay-cong-trinh/cay-thien-tue.html)1.950.000VNĐ Trước thuế: 1.950.000VNĐ
Bán và cho thuê cây thiên tuế sỉ và lẻ Cây thiê.....
[Cây tre vàng sọc](http://cayxanhvanphong.net/cay-cong-trinh/cay-tre-vang-soc.html)0VNĐ Trước thuế: 0VNĐ
Cây tre vàng, cung cấp cây tre sọc vàng Cây tre vàng sọc l.....
[Cây trúc quan âm](http://cayxanhvanphong.net/cay-cong-trinh/cay-truc-quan-am.html)0VNĐ Trước thuế: 0VNĐ
Cây trúc quan âm, cung cấp cây trúc quan âm, trúc đ&ugr.....
[Cây trúc quân tử](http://cayxanhvanphong.net/cay-cong-trinh/cay-truc-quan-tu)0VNĐ Trước thuế: 0VNĐ
Cây trúc quân tử - cung cấp và trồng cây trúc quân tử g.....
[Cây trúc xanh, cây trúc cần câu](http://cayxanhvanphong.net/cay-cong-trinh/cay-truc-xanh-cay-truc-can-cau.html)0VNĐ Trước thuế: 0VNĐ
Cây trúc xanh, cây trúc cần câu, cung cấp cây trúc gi&a.....
[Cây tùng bách tán](http://cayxanhvanphong.net/cay-cong-trinh/cay-tung-bach-tan.html)0VNĐ Trước thuế: 0VNĐ
Cây tùng bách tán, trồng cây tùng bách tán tr&.....
[cây vàng anh](http://cayxanhvanphong.net/cay-cong-trinh/cay-vang-anh.html)0VNĐ Trước thuế: 0VNĐ
Cây vàng anh Vào mùa xuân chúng ta thường bắt gặp những c.....
[Cây viết](http://cayxanhvanphong.net/cay-cong-trinh/cay-viet.html)0VNĐ Trước thuế: 0VNĐ
Cây viết, trồng cúng cấp giống cây viết Cây viết là một trong nhữ.....
-

Server: cloudflare-nginx

Cache-Control: no-store, no-cache, must-revalidate

Set-Cookie: currency=GBP; expires=Sun, 22-Oct-2017 13:20:50 GMT; Max-Age=2592000; path=/; domain=cayxanhvanphong.net

Content-Type: text/html; charset=utf-8


text:
- Hoạt động cuối:
- 11/8/16
- Tham gia ngày:
- 10/3/16
- Bài viết:
- 7
- Đã được thích:
- 0
- Điểm thành tích:
- 1
- Giới tính:
- Nam
- Sinh nhật:
- 12/3/90 (Tuổi: 27)
- Web:
- http://xelexus.vn/
- Thành phố:
- Hà Nội
Chia sẻ trang này
xelexusvn
New Member, Nam, 27, from Hà Nội
Giá xe Lexus: http://xelexus.vn/gia-xe-lexus/ Lexus RX 350: http://xelexus.vn/lexus-rx-350/ Lexus ES 350: http://xelexus.vn/lexus-es-350/ 22/3/16
- xelexusvn được nhìn thấy lần cuối:
- 11/8/16
-
- Đang tải...
- Đang tải...
-
Giới thiệu
- Giới tính:
- Nam
- Sinh nhật:
- 12/3/90 (Tuổi: 27)
- Web:
- http://xelexus.vn/
Tag: Xe Lexus, Giá Xe Lexus, Lexus NX 200T, Lexus RX 350, Lexus ES 250, Lexus ES 350, Lexus LS 460, Lexus GX 460, Lexus GS 350
- Thành phố:
- Hà Nội
Mega Menu Download, Bút gỗ khắc tên, Lexus Thăng Long
Website: http://xelexus.vn/
Giá xe Lexus: http://xelexus.vn/gia-xe-lexus/
Lexus RX 350: http://xelexus.vn/lexus-rx-350/
Lexus ES 350: http://xelexus.vn/lexus-es-350/
Lexus ES 250: http://xelexus.vn/lexus-es-250/
Lexus GS 350: http://xelexus.vn/lexus-gs-350/
Lexus GX 460: http://xelexus.vn/lexus-gx-460/
Lexus NX 200T: http://xelexus.vn/lexus-nx-200t/
Lexus LS 460: http://xelexus.vn/lexus-ls-460/
Tương tác

markdown:
![ xelexusvn](http://chogiamgia.net/styles/default/xenforo/avatars/avatar_male_l.png)
- Hoạt động cuối:
- 11/8/16
- Tham gia ngày:
- 10/3/16
- Bài viết:
- 7
- Đã được thích:
- 0
- Điểm thành tích:
[1](members/xelexusvn.230014/trophies)
- Giới tính:
- Nam
- Sinh nhật:
- 12/3/90 (Tuổi: 27)
- Web:
[http://xelexus.vn/](http://xelexus.vn/)
- Thành phố:
[Hà Nội](misc/location-info?location=H%C3%A0+N%E1%BB%99i)
### Chia sẻ trang này
# xelexusvn
New Member, Nam, 27, from
[Hà Nội](misc/location-info?location=H%C3%A0+N%E1%BB%99i)
Giá xe Lexus:
[http://xelexus.vn/gia-xe-lexus/](http://xelexus.vn/gia-xe-lexus/) Lexus RX 350: [http://xelexus.vn/lexus-rx-350/](http://xelexus.vn/lexus-rx-350/) Lexus ES 350: [http://xelexus.vn/lexus-es-350/](http://xelexus.vn/lexus-es-350/) 22/3/16
- xelexusvn được nhìn thấy lần cuối:
- 11/8/16
-
- Đang tải...
- Đang tải...
-
### Giới thiệu
- Giới tính:
- Nam
- Sinh nhật:
- 12/3/90 (Tuổi: 27)
- Web:
[http://xelexus.vn/](http://xelexus.vn/)
Tag:
- Thành phố:
[Hà Nội](misc/location-info?location=H%C3%A0+N%E1%BB%99i) [,](http://xelexus.vn/) **Xe Lexus** [Giá Xe Lexus](http://xelexus.vn/gia-xe-lexus/), [Lexus NX 200T](http://xelexus.vn/lexus-nx-200t/), [,](http://xelexus.vn/lexus-rx-350/) **Lexus RX 350** [Lexus ES 250](http://xelexus.vn/lexus-es-250/), [,](http://xelexus.vn/lexus-es-350/) **Lexus ES 350** [Lexus LS 460](http://xelexus.vn/lexus-ls-460/), [,](http://xelexus.vn/lexus-gx-460/) **Lexus GX 460** **Lexus GS 350**
[Mega Menu Download](https://responsivewordpresstemplate.wordpress.com/category/mega-menu-wordpress/), [Bút gỗ khắc tên](http://butgokhactenvn.blogspot.com/), [Lexus Thăng Long](https://xelexus.wordpress.com/)
Website:
[http://xelexus.vn/](http://xelexus.vn/)
Giá xe Lexus:
[http://xelexus.vn/gia-xe-lexus/](http://xelexus.vn/gia-xe-lexus/)
Lexus RX 350:
[http://xelexus.vn/lexus-rx-350/](http://xelexus.vn/lexus-rx-350/)
Lexus ES 350:
[http://xelexus.vn/lexus-es-350/](http://xelexus.vn/lexus-es-350/)
Lexus ES 250:
[http://xelexus.vn/lexus-es-250/](http://xelexus.vn/lexus-es-250/)
Lexus GS 350:
[http://xelexus.vn/lexus-gs-350/](http://xelexus.vn/lexus-gs-350/)
Lexus GX 460:
[http://xelexus.vn/lexus-gx-460/](http://xelexus.vn/lexus-gx-460/)
Lexus NX 200T:
[http://xelexus.vn/lexus-nx-200t/](http://xelexus.vn/lexus-nx-200t/)
Lexus LS 460:
[http://xelexus.vn/lexus-ls-460/](http://xelexus.vn/lexus-ls-460/)
### Tương tác

X-Frame-Options: SAMEORIGIN

Cache-control: private, max-age=0