Từ 1 tới 10 trên tổng số 10 kết quả

Đề tài: Cần giúp về LỚP TRỪU TƯỢNG

  1. #1
    Ngày gia nhập
    03 2011
    Bài viết
    25

    Mặc định Cần giúp về LỚP TRỪU TƯỢNG

    Mình có 1 bài tập về lớp trừu tượng !!!

    Yêu cầu cài đặt lớp Sinh Viên gồm : điểm môn 1 , điểm môn 2 kế thừa từ lớp Con Người
    Yêu cầu cài đặt phương thức thay đổi thông tin của sinh viên truyền vào tham số là sinh viên (truyền tham biến ) , phương thức cho phép lựa chọn cách thay đổi -0: thay đổi điểm môn 1 , -1 thay đổi điểm môn 2
    Lớp ConNguoi như thế này :

    Code:
    abstract class Nguoi
    {
    	protected String Ten;
    	protected int namSinh;
    	public void nhap()
    	{
    		Scanner x=new Scanner(System.in);
    		System.out.print("Ho va Ten           : ");
    		Ten=x.nextLine();
    		System.out.print("Nam Sinh            : ");
    		namSinh=x.nextInt();
    	}
    	public void xuat()
    	{
    		System.out.println ("Ho va Ten        : "+Ten);
    		System.out.println ("Nam sinh         : "+namSinh);
    	}
    	abstract void input();
    	abstract void output();
    	abstract float Tongdiem();
    }
    class SinhVien extends Nguoi
    {
    	private float diem1;
    	private float diem2;
    	public void input()
    	{
    		super.nhap();
    		Scanner x=new Scanner(System.in);
    		System.out.print("Diem mon 1         : ");
    		diem1=x.nextFloat();
    		System.out.print("Diem mon 2         : ");
    		diem2=x.nextFloat();
    	}
    	public void output()
    	{
    		super.xuat();
    		System.out.println ("Diem mon 1      : "+diem1);
    		System.out.println ("Diem mon 2      : "+diem2);
    	}
             ................................................
    }
    Mình chưa định hướng được cách xây dựng hàm cho yêu cầu thứ hai ...mong các bạn giúp !!!Tks
    Đã được chỉnh sửa lần cuối bởi giacmo1612 : 01-04-2012 lúc 11:43 AM.

  2. #2
    Ngày gia nhập
    12 2010
    Nơi ở
    Hanoi, Vietnam, Vietnam
    Bài viết
    687

    hey , ko biết như thế này có đúng yêu cầu ko ? nhưng thiết kế lớp người thấy có vấn đề ! :-ss

    Java Code:
    1. import java.util.Scanner;
    2.  
    3. public class SinhVien extends Nguoi
    4. {
    5.     private float diem1;
    6.     private float diem2;
    7.     public void input()
    8.     {
    9.         super.nhap();
    10.         Scanner x=new Scanner(System.in);
    11.         System.out.print("Diem mon 1         : ");
    12.         diem1=x.nextFloat();
    13.         System.out.print("Diem mon 2         : ");
    14.         diem2=x.nextFloat();
    15.     }
    16.     public void output()
    17.     {
    18.         super.xuat();
    19.         System.out.println ("Diem mon 1      : "+diem1);
    20.         System.out.println ("Diem mon 2      : "+diem2);
    21.     }
    22.    
    23.     float Tongdiem() {
    24.         int a = 0;
    25.         System.out.println("Moi ban thay doi diem , nhan phim 1 hoac 0");
    26.         Scanner x = new Scanner(System.in);
    27.         a = x.nextInt();
    28.        
    29.         switch(a){
    30.         case 0 :
    31.             System.out.println("Moi ban thay doi mon thu 1 ");
    32.             diem1 = x.nextInt();
    33.             break;
    34.         case 1 : System.out.println("Moi ban thay doi mon thu 2 !");
    35.             diem2 = x.nextInt();
    36.             break;
    37.         }
    38.        
    39.         return 0;
    40.     }
    41.     public static void main(String []args){
    42.         SinhVien a = new SinhVien();
    43.         a.input();
    44.         a.output();
    45.         a.Tongdiem();
    46.         a.output();
    47.     }
    48. }

  3. #3
    Ngày gia nhập
    03 2011
    Bài viết
    25

    Lớp Người nó bị sao hả bạn ? Lớp Người gồm : Tên và Năm Sinh , mình khai báo 2 phương thức trừu tượng là input() và output()
    Cái Switch thì mình nghĩ là đúng rồi , nhưng còn cái yêu cầu cài đặt phương thức thay đổi thông tin của sinh viên truyền vào tham số là sinh viên ---> cái này mình chưa hiểu ý của nó ra sao

  4. #4
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Yêu cầu cài đặt lớp Sinh Viên gồm : điểm môn 1 , điểm môn 2 kế thừa từ lớp Con Người
    Theo yêu cầu đề bài thì 2 cái điểm của bạn phải nằm trong lớp Người mới đúng chứ nhỉ?

  5. #5
    Ngày gia nhập
    03 2011
    Bài viết
    25

    Bạn ơi cái Lớp Sinh Viên gồm có điểm môn 1 , điểm môn 2 , các phương thức nhập điểm , và kèm theo 2 yêu cầu như trên ak bạn :|

  6. #6
    Ngày gia nhập
    12 2010
    Nơi ở
    Hanoi, Vietnam, Vietnam
    Bài viết
    687

    Mặc định Cần giúp về LỚP TRỪU TƯỢNG

    hey , cái câu
    nhưng còn cái yêu cầu cài đặt phương thức thay đổi thông tin của sinh viên truyền vào tham số là sinh viên
    -
    này mình ko hiểu ji hết trơn à ! có điều là cái lớp người nó ko có thuộc tính điểm nào , nằm hoàn toàn ở lớp sinh viên nên khi cho phương thức ảo
    Java Code:
    1. abstract float tongdiem()
    là có vấn đề , nếu mà theo nguyên lì thiết kế hướng đối tượng thì sai hoàn toàn !

    ps : bạn viết yêu cầu rõ ràng ra thì mọi người mới giúp đc chớ mơ hồ kiểu này thì mình chịu thui ! :(

  7. #7
    Ngày gia nhập
    03 2011
    Bài viết
    25

    Thế này bạn ơi
    Lớp Người gồm có : Tên , Năm Sinh
    Xây dựng Lớp Sinh Viên kế thừa lớp Người
    + Lớp Sinh Viên gồm có : thuộc tính điểm môn 1 , điểm môn 2 , các phương thức nhập điểm , tính tổng điểm , phương thức thay đổi thông tin của sinh viên truyền vào tham số là sinh viên ( truyền tham biến ) , phương thức cho phép lựa chọn cách thay đổi -0 : thay đổi điểm môn 1 , -1 thay đổi điểm môn 2

  8. #8
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Hàm thay đổi thuộc tính của lớp Sinh Viên mà lại có tham số là lớp Sinh Viên? Ai cho đề mà kì cục quá vậy. Nếu hàm này thuộc một lớp Controller nào đó thì còn chấp nhận được. Thay đổi lớp sinh viên thì đơn giản chỉ là set method với 2 điều kiện thôi.

  9. #9
    Ngày gia nhập
    03 2011
    Bài viết
    25

    Cái đề thế đó bạn ...kêu là viết phương thức thay đổi thông tin của sinh viên truyền vào tham số là sinh viên ( truyền tham biến ) ...mình cũng đang ko hiểu chỗ này , nên cũng chưa định hình được cách viết

  10. #10
    Ngày gia nhập
    05 2007
    Nơi ở
    ha noi
    Bài viết
    15

    Theo mình thì có thể thiết kế lại như sau:
    1.Class Nguoi thì không cần abstract nếu không bắt buộc, có 2 field và setter, getter và phương thức nhập xuất 2 field này.
    2.Class SinhVien:
    - kế thừa Class người thì sẽ dùng luôn các trường và phương thức của Nguoi
    - tạo thêm 2 field diem1, diem2 và setter, getter.
    - viết phương thức nhập xuất khác, trong các phương thức này gọi phương thức của lớp cha
    - viết thêm phương thức thay đổi thông tin điểm như sau:

    public void thaydoiDiem(SinhVien sv){
    //set các trường của tham số vào object hiện tại
    this.diem1 = sv.getDiem1();
    this.diem2 = sv.getDiem2();

    }

    Để làm việc với phương thức thaydoiDiem thì làm gọi lại hàm nhập để nạp thông tin vào tham số cho hàm thaydoiDiem.

Các đề tài tương tự

  1. Sự cố Nhờ mod chuyển giúp bài "Sắp xếp số thứ tự ngay trong bảng của 1 database?" từ MySQL sang MSSQL giúp!
    Gửi bởi hu-xeko trong diễn đàn Ý kiến, đề xuất và khiếu nại
    Trả lời: 1
    Bài viết cuối: 12-03-2012, 07:48 PM
  2. Mới nhập môn khó quá , cần trợ giúp [Vấn đề của bạn cần muốn giúp là gì ?]
    Gửi bởi cuingo212 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 5
    Bài viết cuối: 22-10-2011, 08:43 AM
  3. Chương trình giúp một học sinh cấp 1 học phép nhân, xử lý hàm rand, giúp mình với?
    Gửi bởi chankx trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 12-05-2009, 08:52 PM
  4. Code giúp add một key vào registry, ai giúp em?
    Gửi bởi olavien trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 12-12-2007, 08:45 AM

Quyền hạn của bạn

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