Hiển thị kết quả từ 1 đến 5 / 5
  1. #1
    Tham gia
    20-04-2011
    Bài viết
    9
    Like
    0
    Thanked 0 Times in 0 Posts

    Giải cho e bài này ạ !!!

    1. Khai báo 1 lớp tên MatHang( MaMH string , TenMH string, DonGia float , SoLuong int)
    - Viết các constructor , properties cho lớp MatHang.

    2. Khai báo 1 lớp generic ( T) tên DanhSachMatHang (where T:MatHang)
    - gồm 1 list tên data lưu các phần tử kiểu là T
    - viết phương thức Add(T pt ) : để thêm phần tử vào data
    3. Viết hàm main để test lớp DanhSachMatHang lưu vào đối tượng lớp này các phần tử kiểu MatHang.
    Quote Quote

  2. #2
    Tham gia
    11-05-2009
    Bài viết
    24
    Like
    0
    Thanked 0 Times in 0 Posts

    Thông tin Reply

    Không hiểu sao không thể uploat file lên đựoc(đành gửi trực tiếp vậy)


    Code:
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace HelpYou
    {
        /// <summary>
        /// 
        /// </summary>
        class MatHang
        {
            private string MaMH;
            private string TenMH;
            private float DonGia;
            private int SoLuong;
            public string maMH
            {
                get { return MaMH; }
                set { if (value != "") MaMH = value; }
            }
            public string tenMH
            {
                get { return TenMH; }
                set { if (value != "") TenMH = value; }
            }
            public float donGia
            {
                get { return DonGia; }
                set { if (value.ToString() != "") DonGia = value; }
            }
            public int soLuong
            {
                get { return SoLuong; }
                set { if (value.ToString() != "") SoLuong = value; }
            }
    
    
            public MatHang()
            {
                maMH = "M01";
                tenMH = "Chuoi";
                donGia = 2000;
                soLuong = 10;
            }
            public MatHang(string mahang, string tenhang, float dongia, int soluong)
            {
                this.MaMH = mahang;
                this.TenMH = tenhang;
                this.DonGia = dongia;
                this.SoLuong = soluong;
            }
        }
    
        class DanhSachMatHang<T> where T : MatHang
        {
            List<T> data = new List<T>();
            public void Add(T pt)
            {
                data.Add(pt);
            }
    
            public void HienThi()
            {
                for (int i = 0; i < data.Count; i++)
                {
                    Console.WriteLine("Hang so {0} : Ma Hang: {1}; Ten hang: {2}; Don gia: {3}; So Luong: {4} ", i, data[i].maMH.ToString(), data[i].tenMH.ToString(), data[i].donGia.ToString(), data[i].soLuong.ToString());
                }
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                DanhSachMatHang<MatHang> ds = new DanhSachMatHang<MatHang>();
    
    
                Console.Write("So mat hang can nhap: ");
                int sohang = int.Parse(Console.ReadLine());
    
                for (int i = 0; i < sohang; i++)
                {
                    Console.WriteLine("MAT HANG SO: {0}", i + 1);
                    Console.Write("Nhap ma hang: ");
                    string maMH = Console.ReadLine();
                    Console.Write("Nhap ten hang: ");
                    string tenH = Console.ReadLine();
                    Console.Write("Nhap don gia hang: ");
                    float dongia = float.Parse(Console.ReadLine());
                    Console.Write("Nhap so luong hang: ");
                    int soluong = int.Parse(Console.ReadLine());
    
                    MatHang mh = new MatHang(maMH, tenH, dongia, soluong);
                    ds.Add(mh);
                }
    
                ds.HienThi();
                Console.ReadKey();
            }
        }
    }

  3. #3
    Tham gia
    20-04-2011
    Bài viết
    9
    Like
    0
    Thanked 0 Times in 0 Posts
    Cảm ơn bạn trước nhá, thank nhiều, để t kiểm tra lại cái cuối tuần vui vẻ

    [=========> Bổ sung bài viết <=========]

    cho mìh hỏi chỗ này :
    public MatHang()
    {
    maMH = "M01";
    tenMH = "Chuoi";
    donGia = 2000;
    soLuong = 10;
    }

    k cần dùng constructor này cũng đc phải không ?????
    mà nếu có thì nó dùng để làm j , hay là đây là gán giá trị mặc định cho mảng

    [=========> Bổ sung bài viết <=========]

    Cho e hỏi luôn cú pháp chỗ này là j thế ạ :
    class DanhSachMatHang<T> where T : MatHang
    chỗ từ khóa where nghĩa là j thế !!!
    Được sửa bởi chungvt19 lúc 17:51 ngày 30-04-2011 Reason: Bổ sung bài viết

  4. #4
    Tham gia
    11-05-2009
    Bài viết
    24
    Like
    0
    Thanked 0 Times in 0 Posts
    constructor bao gồm hai phương thức, đó là khởi tạo có tham số và không tham số;

    public MatHang()
    {
    maMH = "M01";
    tenMH = "Chuoi";
    donGia = 2000;
    soLuong = 10;
    }

    đây là phương thức khởi tạo không tham số, ta gán giá trị mặc định cho những thuộc tính của lớp.


    Còn với:

    class DanhSachMatHang<T> where T : MatHang

    Nếu không có :where T : MatHang

    thì ta có thể truyền vào bất kỳ một đối tượng nào( cụ thể là lớp nào), ví dụ ngoài lớp mặt hành bạn có lớp Con vật thì khi gọi danh sach bạn có thể truyền vào lớp con vật.

    Nhưng với từ khóa where kiểm tra trên thì bạn chỉ có thể truyền và lớp mặt hàng thôi.

  5. #5
    Tham gia
    20-04-2011
    Bài viết
    9
    Like
    0
    Thanked 0 Times in 0 Posts
    Thank ban nha, co thể cho mình yahoo để có j mình hỏi đc không ???
    kjd_vt19

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •