Chủ đề: hỏi về Overload trong C#
-
26-07-2010, 12:05 PM #1Junior Member
- Ngày tham gia
- Dec 2015
- Bài viết
- 0
hỏi về Overload trong C#
Mình mới làm quen với C# và học hành còn lan man quá hôm nay xem lại phần Overload có đoạn này không hiểu rõ lắm
class TestOverload
{
public TestOverload()
{
Console.WriteLine("ham thu nhat");
}
public TestOverload(float a)
{
Console.WriteLine("day la bien kieu float {0}", a);
}
public TestOverload(byte a)
{
Console.WriteLine("day la bien kieu byte {0}", a);
}
public TestOverload(int a)
{
Console.WriteLine("day la bien kieu int {0}", a);
}
}
class Program
{
static void Main(string[] args)
{
TestOverload mang = new TestOverload(5);
TestOverload mang2=new TestOverload(10F);
Console.ReadLine();
}
}
View more random threads:
-
26-07-2010, 02:38 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
kiểu byte nó là một số nguyên ko dấu từ 0-255. còn kiêu int nó có giá trị khá lớn và có dấu nữa.
bạn có thể khai báo kiểu của biến rồi truyền vào. thông thường mặc định nếu bạn truyền vào một số nguyên thì nó là kiểu int.
-
26-07-2010, 03:01 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Như bạn nguyen my nói đó . Bạn khai báo 1 biến kiểu byte sau đó truyền vào . . chứ truyền vào 1 số nguyên thì nó sẽ nhận kiểu int thôi [IMG]images/smilies/biggrin.png[/IMG]
-
26-07-2010, 07:47 PM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi nguyen my
Nhân tiện thì bạn có thể kể ra thứ tự ưu tiên của không (ví dụ như bạn nói mặc định ban đầu nếu là số nguyên thì là int vậy nếu không có int thì ưu tiên tiếp theo sẽ là kiểu gì...)
Mình mới học nên còn nhiều vướng mắc , cảm ơn bạn đã giải thích dùm [IMG]images/smilies/online.gif[/IMG][IMG]images/smilies/online.gif[/IMG]
-
09-03-2012, 05:11 PM #5Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
using System;
class TestOverload
{
public TestOverload(sbyte a)
{
Console.WriteLine("day la bien kieu sbyte {0}", a);
}
public TestOverload(byte a)
{
Console.WriteLine("day la bien kieu byte {0}", a);
}
}
class Program
{
static void Main(string[] args)
{
TestOverload mang = new TestOverload(5);
Console.ReadLine();
}
}
Tớ nghĩ, int là mặc định, nếu không có int nó sẽ tìm trong các method còn lại( có 2 cái byte và sbyte). Như sau:
- Nếu giá trị chỉ thuộc 1 kiểu byte hoặc sbyte ví dụ 200 chỉ thuộc kiểu byte thôi, -50 chỉ thuộc kiểu sbyte thôi, thì ko phải tranh cãi,nó gọi hàm duy nhất tương ứng.
- Nếu giá trị truyền vào là 5 chẳng hạn, thuộc cùng 2 kiểu dũ liệu nên nó ưu tiên sbyte. Còn tại sao ưu tiên sbyte thì mình cũng ko rõ .hj.
-
09-03-2012, 07:49 PM #6Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Trước khi học hàm chồng thì phải học các kiểu dữ kiệu căn bản và cách chuyển đổi loại dữ liệu.
Học kiểu đốt giai đoạn như thế này thì còn sẽ rắc rối dài dài.
TestOverload t1 = new TestOverload(5); // dữ liệu truyền vào là int
TestOverload t2 = new TestOverload((byte)5); // dữ liệu truyền vào là byte
Pallet nhựa Lâm Đồng giải pháp hoàn hảo cho nhà kho Pallet nhựa Lâm Đồng là một giải pháp đa năng và hiệu quả trong việc vận chuyển và lưu trữ hàng hóa. Trong đó, pallet nhựa Lâm Đồng không chỉ đáp...
Pallet nhựa Lâm Đồng giải pháp...