Đăng Nhập

Vui lòng khai báo chính xác tên truy cập và mật khẩu!

Quên mật khẩu?

    Xây dựng lớp diem với các thuộc tính tung độ, hoành độ của điểm đó c#

      Admin
      Admin

      Giới tính : Nam

      Đến từ : TPHCM

      Ngày Tham gia : 03/04/2011

      Tổng số bài gửi : 2292

      #1

       Fri Nov 04, 2011 8:03 am

      Xây dựng lớp diem với các thuộc tính tung độ, hoành độ của điểm đó, phương thức đổi tọa độ giữa dương và âm, phương thức di chuyển theo một giá trị nhập vào từ bàn phím, phương thức hiện điểm lên màn hình.

      a, Hướng dẫn:
      + các thuộc tính gồm có:
      int x ; // tọa độ hoành độ

      int y ; // tọa độ tung độ
      + các phương thức của lớp:
      nhập thông tin
      đổi tọa độ
      phương thức move: di chuyển điểm
      phương thức hien: hiện thông tin lên màn hình
      b, Bài giải mẫu:
      Code:
      class Diem
        {
            public int x, y;
            {
                x = ox;
                y = oy;
            }
            public void nhap()
            {
                Console.WriteLine("Nhap toa do cua diem:");
                x = int.Parse(Console.ReadLine());
                y = int.Parse(Console.ReadLine());
            }
            public void move(int dx, int dy)
            {
                x += dx;
                y += dy;
            }
            public void chuyen()
            {
                x = -x;
                y = -y;
            }
            public void hien()
            {
                Console.Write("toa do :(");
                Console.Write("{0},{1}", x, y);
                Console.WriteLine(")");
            }
        }
      Trong ví dụ trên, chúng tôi chỉ ra cách khai báo một lớp thì cần phải khai báo tường minh các thuộc tính (thành phần dữ liệu), và cả các phương thức (cái mà một đối tượng của lớp có thể thi hành). Với một phương thức không có giá trị trả về thì khai báo có từ khóa void còn nếu có giá trị trả về thì phải khai báo có giá trị trả về.

      Ví dụ 2:
      Xây dựng lớp stack để mô phỏng một stack bao gồm

      - Hàm khởi tạo số phần tử tối đa,
      - Phương thức isEmpty kiểm tra xem stack có rỗng không
      - Phương thức isFull kiểm tra xem stack có đầy không
      - Phương thức push và pop để thêm vào, lấy ra một phần tử
      a, Hướng dẫn:
      Các thuộc tính của lớp stack gồm có:
      top: mô tả phần tử ở đầu stack
      n: số phần tử tối đa của stack
      Các phương thức của lớp gồm có:
      public stack(): khởi tạo giá trị của stack với số phần tử tối đa
      pubic bool empty(): trả về giá trị kiểu đúng sai khi stack rỗng hay không

      public bool full(): trả về kiểu đúng sai khi stack đầy hay không đầy
      public void push (int x):thêm một phần tử vào stack
      public int pop(): Lấy ra một phần tử từ stack. Đây là hàm vì nó có trả ra giá trị, giá trị chính là phần tử mà ta vừa lấy ra được từ stack.
      b, Bài giải mẫu:
      Code:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      using System;
      namespace Stack
      {
          class Stack
          {
              private int top;
              private int []s;
              public bool  empty()
              {
                  return (top == -1);
              }
              public bool  full()
              {
                  return (top >= s.Length);
              }
              public Stack ()
              {
                  s = new int[20];
                  top=-1;
              }
              public void push(int x)
              {
                  if(!full())
                  {
                      top=top+1;
                      s[top]=x;
                  }
                  else
                      Console.Write("Stack tran");
              }
              public int pop()
              {
                  if (empty())
                {
                      Console.Write("Stack can");
                      return 0;
                  }
                  else
                      return s[top--];
              } 
          }
      1. Sử dụng lớp

      Ví dụ 1:
      Xây dựng lớp diem như bài 1 sau đó viết chương trình nhập tọa độ của điểm từ bàn phím, di chuyển một tọa độ, lấy tọa độ đối xứng, hiện tọa độ của điểm lên màn hình.

      a, Hướng dẫn:
      Thuộc tính và phương thức của lớp diem giống hệt bài trên, khi đó muốn xây dựng chương trình ta chỉ việc sử dụng đối tượng của lớp mà thôi. Muốn vậy phải khai báo đối tượng kiểu lớp bằng sử dụmg từ khóa new để cấp phát vùng nhớ. Để truy xuất đến các phương thức của lớp thì ta truy xuất thông qua các đối tượng của lớp diem

      Chẳng hạn như có đối tượng của lớp la A muốn truy xuất tới phương thức nhap() thì ta truy nhập như sau: A.nhap();

      b, Chương trình hoàn thiện như sau:
      Code:
      using System;
      using System.Collections.Generic;
      using System.Text;
      namespace vidu1
      {
      class diem
          {
              public int x, y;
              public void move(int dx, int dy)
              {
                  x += dx;
                  y += dy;
              }
              public void hien()
              {
                  Console.Write("toa do :(");
                  Console.Write("{0},{1}", x, y);
                  Console.WriteLine(")");
              }
              public void chuyen()
              {
                  x = -x;
                  y = -y;
              }
              public void nhap()
              {
                  Console.WriteLine("Nhap toa do cua diem:");
                  x = int.Parse(Console.ReadLine());
                  y = int.Parse(Console.ReadLine());
              }
          }
          class tester
          {
            static void Main(string[] args)
          {
                  diem b = new diem();
                // bien trong C# luon doc khoi gan gia tri truoc khi su dung
                  b.nhap();
                  Console.Write("diem b ");
                  b.hien();
                  Console.WriteLine("toa do doi xung la:");
                  b.chuyen();
                  b.hien();
                  b.move(2, 6);
              }
          }
      }
      Kết quả sau khi chạy chương trình là

      Nhap toa do cua diem:
      8
      19
      diem b toa do : (8,19)
      toa do doi xung la:
      toa do(-8,-19)
      diem b sau khi di chuyen la:
      toa do (-6,-13)

      stty