Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 18
  1. #1
    Ngày tham gia
    Nov 2014
    Bài viết
    0

    Bài 13: Class trong Java (tiếp)

    /* bài viết thuộc loạt bài hướng dẫn trong "khóa học lập trình java miễn phí"
    trên diễn đàn android.vn, bạn có thể vào đây đọc

    để hiểu hơn về khóa học và tham gia ngay cùng mọi người */
    ​sau bài viết này, các bạn sẽ có cái nhìn toàn diện hơn về class trong 1 project java (interface, abstract class tương tự), các bạn áp dụng để viết code sao cho dễ nhìn dễ hiểu và dễ quản lý. chọn cách viết nào cho phù hợp với từng bài tập, từng project. sau bài này, các bạn cũng sẽ hiểu hơn về lập trình hướng đối tượng trong java.

    1, bài có 1 class, dùng class chứa hàm main!

    khi bạn lên mạng, tìm code, bạn sẽ thấy người ta thường dùng cách này
    thường có 1 class duy nhất. cách viết này thường dùng để chia sẻ thuật toán, cú pháp hoặc giới thiệu các phương thức của 1 đối tượng trong thư viện nào đó.
    ví dụ 1: một bài tập quản lý sinh viên nhỏ:


    Mã nguồn PHP:
    [color=#000000]
    package sinh[/color][color=#007700].[/color][color=#0000bb]vien[/color][color=#007700]; public class [/color][color=#0000bb]sinhvien [/color][color=#007700]{ public [/color][color=#0000bb]string hoten[/color][color=#007700]; public [/color][color=#0000bb]int namsinh[/color][color=#007700]; public [/color][color=#0000bb]float toan[/color][color=#007700], [/color][color=#0000bb]ly[/color][color=#007700], [/color][color=#0000bb]hoa[/color][color=#007700]; public static [/color][color=#0000bb]void main[/color][color=#007700]([/color][color=#0000bb]string[/color][color=#007700][] [/color][color=#0000bb]args[/color][color=#007700]) { [/color][color=#0000bb]sinhvien a [/color][color=#007700]= new [/color][color=#0000bb]sinhvien[/color][color=#007700](); [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]hoten [/color][color=#007700]= [/color][color=#dd0000]"vũ văn a"[/color][color=#007700]; [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]namsinh [/color][color=#007700]= [/color][color=#0000bb]1992[/color][color=#007700]; [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]toan [/color][color=#007700]= [/color][color=#0000bb]10.0f[/color][color=#007700]; [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]ly [/color][color=#007700]= [/color][color=#0000bb]9.0f[/color][color=#007700]; [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]hoa [/color][color=#007700]= [/color][color=#0000bb]9.5f[/color][color=#007700]; [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#dd0000]"điểm tb là: " [/color][color=#007700]+ (float) ([/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]toan [/color][color=#007700]+ [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]ly [/color][color=#007700]+ [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]hoa[/color][color=#007700]) / [/color][color=#0000bb]3[/color][color=#007700]); }}[/color] 
    khi làm bài tập hoặc làm các project, ít khi dùng cách này, nó không hay cho việc quản lý, giới thiệu để các bạn có thể đọc và hiểu nếu như gặp phải những bài chia sẻ dạng trên!

    2, class đặt cùng file class chứa hàm main

    vị trí đặt ngoài class chứa chương trình chính, ở bài trước, mình có viết ví dụ theo cách này! nó chỉ thích hợp với bài ít class, class ít thuộc tính và phương thức. nếu bài có nhiều class, mỗi class có nhiều phương thức, điều này cũng không tốt, sẽ rất khó nhìn và quản lý cũng như nâng cấp!
    ví dụ 2: nội dung bài như ở vd1, bổ sung thêm class giảng viên, nhưng sẽ bố trí lại vị trí class như sau:



    Mã nguồn PHP:
    [color=#000000]
    package truong[/color][color=#007700].[/color][color=#0000bb]hoc[/color][color=#007700]; class [/color][color=#0000bb]sinhvien [/color][color=#007700]{ public [/color][color=#0000bb]string hoten[/color][color=#007700]; public [/color][color=#0000bb]int namsinh[/color][color=#007700]; public [/color][color=#0000bb]float toan[/color][color=#007700], [/color][color=#0000bb]ly[/color][color=#007700], [/color][color=#0000bb]hoa[/color][color=#007700];} class [/color][color=#0000bb]giangvien [/color][color=#007700]{ public [/color][color=#0000bb]string hoten[/color][color=#007700]; public [/color][color=#0000bb]int namsinh[/color][color=#007700]; public [/color][color=#0000bb]string mon[/color][color=#007700]; public [/color][color=#0000bb]int luong[/color][color=#007700];} public class [/color][color=#0000bb]main [/color][color=#007700]{ public static [/color][color=#0000bb]void main[/color][color=#007700]([/color][color=#0000bb]string[/color][color=#007700][] [/color][color=#0000bb]args[/color][color=#007700]) { [/color][color=#0000bb]sinhvien a [/color][color=#007700]= new [/color][color=#0000bb]sinhvien[/color][color=#007700](); [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]hoten [/color][color=#007700]= [/color][color=#dd0000]"vũ văn a"[/color][color=#007700]; [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]namsinh [/color][color=#007700]= [/color][color=#0000bb]1992[/color][color=#007700]; [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]toan [/color][color=#007700]= [/color][color=#0000bb]10.0f[/color][color=#007700]; [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]ly [/color][color=#007700]= [/color][color=#0000bb]9.0f[/color][color=#007700]; [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]hoa [/color][color=#007700]= [/color][color=#0000bb]9.5f[/color][color=#007700]; [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#dd0000]"điểm tb là: " [/color][color=#007700]+ (float) ([/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]toan [/color][color=#007700]+ [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]ly [/color][color=#007700]+ [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]hoa[/color][color=#007700]) / [/color][color=#0000bb]3[/color][color=#007700]); [/color][color=#0000bb]giangvien gv1 [/color][color=#007700]= new [/color][color=#0000bb]giangvien[/color][color=#007700](); }}[/color] 
    chú ý: chương trình vẫn chạy nếu bạn để các class sinhvien và giangvien ở phía cuối chương trình, chỉ cần nằm ngoài class main là được

    3, mỗi class đặt riêng 1 file, cùng 1 gói (package)

    cách này ở các bài tập có nhiều class, các class cùng 1 loại.
    ví dụ 4: các class cùng là nhân sự của 1 trường học: sinhvien, giangvienkhoa1, giangvienkhoa2.
    với bài này, chúng ta sẽ tạo project với 1 package là truong.hoc, trong
    package này sẽ có 4 file như sau:

    file "main.java" chứa hàm main:


    Mã nguồn PHP:
    [color=#000000]
    package truong[/color][color=#007700].[/color][color=#0000bb]hoc[/color][color=#007700]; public class [/color][color=#0000bb]main [/color][color=#007700]{ public static [/color][color=#0000bb]void main[/color][color=#007700]([/color][color=#0000bb]string[/color][color=#007700][] [/color][color=#0000bb]args[/color][color=#007700]) { [/color][color=#0000bb]sinhvien a [/color][color=#007700]= new [/color][color=#0000bb]sinhvien[/color][color=#007700](); [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]hoten [/color][color=#007700]= [/color][color=#dd0000]"vũ văn a"[/color][color=#007700]; [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]namsinh [/color][color=#007700]= [/color][color=#0000bb]1992[/color][color=#007700]; [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]toan [/color][color=#007700]= [/color][color=#0000bb]10.0f[/color][color=#007700]; [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]ly [/color][color=#007700]= [/color][color=#0000bb]9.0f[/color][color=#007700]; [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]hoa [/color][color=#007700]= [/color][color=#0000bb]9.5f[/color][color=#007700]; [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#dd0000]"điểm tb là: " [/color][color=#007700]+ (float) ([/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]toan [/color][color=#007700]+ [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]ly [/color][color=#007700]+ [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]hoa[/color][color=#007700]) / [/color][color=#0000bb]3[/color][color=#007700]); [/color][color=#0000bb]giangvien1 gv1 [/color][color=#007700]= new [/color][color=#0000bb]giangvien1[/color][color=#007700](); }}[/color] 
    file giangvien.java là 1 class, bạn tạo bằng cách nháy chuột phải vào package chọn new --> java class, nội dung như sau:


    Mã nguồn PHP:
    [color=#000000]
    package truong[/color][color=#007700].[/color][color=#0000bb]hoc[/color][color=#007700]; class [/color][color=#0000bb]sinhvien [/color][color=#007700]{ public [/color][color=#0000bb]string hoten[/color][color=#007700]; public [/color][color=#0000bb]int namsinh[/color][color=#007700]; public [/color][color=#0000bb]float toan[/color][color=#007700], [/color][color=#0000bb]ly[/color][color=#007700], [/color][color=#0000bb]hoa[/color][color=#007700];}[/color] 
    file giangvien1.java:


    Mã nguồn PHP:
    [color=#000000]
    package truong[/color][color=#007700].[/color][color=#0000bb]hoc[/color][color=#007700]; class [/color][color=#0000bb]giangvien1 [/color][color=#007700]{ public [/color][color=#0000bb]string hoten[/color][color=#007700]; public [/color][color=#0000bb]int namsinh[/color][color=#007700]; public [/color][color=#0000bb]string mon[/color][color=#007700]; public [/color][color=#0000bb]int luong[/color][color=#007700];}[/color] 
    file giangvien2.java:


    Mã nguồn PHP:
    [color=#000000]
    package truong[/color][color=#007700].[/color][color=#0000bb]hoc[/color][color=#007700]; class [/color][color=#0000bb]giangvien2 [/color][color=#007700]{ public [/color][color=#0000bb]string hoten[/color][color=#007700]; public [/color][color=#0000bb]int namsinh[/color][color=#007700]; public [/color][color=#0000bb]string mon[/color][color=#007700]; public [/color][color=#0000bb]int luong[/color][color=#007700]; public [/color][color=#0000bb]string phongthuchanh[/color][color=#007700];}[/color] 
    nhờ vào ide, việc quản lý các class trở lên tiện lợi hơn rất nhiều!

    4, các class được đặt ở nhiều package khác nhau:

    với những project thực tế, sẽ có rất nhiều class khác nhau được để ở nhiều gói (package) khác nhau.
    ví dụ 4: project này sẽ mở rộng từ các ví dụ trên. tạo 1 project có tên: quanlytruonghoc. trong project có 3 package: truong.hoc, nhan.su, thu.vien.sach



    android.vn/attachments/untitled-png.17645/" border="0" alt="" />













    code bài 4 dài mình đính kèm phía dưới, các bạn import vào ide là ok!

    tham khảo video bên studyandshare



    bài tập về nhà::d
    đọc hiểu và code lại các ví dụ!
    đọc thêm:
    tạo 1 đối tượng java đầu tiên của bạn

    my facebook: https://www.facebook.com/tiasangmoi

    bài viết đăng lên diễn đàn khác vui lòng ghi rõ nguồn: android.vn

  2. #2
    Ngày tham gia
    Apr 2015
    Bài viết
    0
    khó hiểu quá (

    thử làm thôi

  3. #3
    Ngày tham gia
    Feb 2015
    Bài viết
    0
    làm thế nào để import vào ide vậy anh? em dùng eclipse.

  4. #4
    Ngày tham gia
    Jan 2016
    Bài viết
    0
    Trích dẫn Gửi bởi quagn1998
    làm thế nào để import vào ide vậy anh? em dùng eclipse.
    bạn vào file --> import ....
    nếu không được thì bạn giải nén file đính kèm ra, rồi tạo project như trong ảnh là ok

  5. #5
    bài này e lại thấy dể hiểu hơn so với n~ bài trước :v

  6. #6
    Ngày tham gia
    Jun 2014
    Bài viết
    0
    Trích dẫn Gửi bởi diepthanh94
    bài này e lại thấy dể hiểu hơn so với n~ bài trước :v
    thế thì like đê :v
    ps: bài này khá quan trọng với các bạn mới, không biết là cứ code linh tinh hết lên , trong các giáo trình thì họ không hề nói :v

  7. #7
    Ngày tham gia
    Mar 2014
    Bài viết
    0
    Trích dẫn Gửi bởi tiasangmoi92
    thế thì like đê :v
    ps: bài này khá quan trọng với các bạn mới, không biết là cứ code linh tinh hết lên , trong các giáo trình thì họ không hề nói :v
    Mã nguồn PHP:
    [color=#000000]
    thích nhất cái câu[/color][color=#007700]: [/color][color=#0000bb]trong giáo trình không có nói[/color][color=#007700].[/color][color=#0000bb]p[/color][color=#007700]/[/color][color=#0000bb]s[/color][color=#007700]: [/color][color=#0000bb]mình không học theo giáo trình[/color][color=#007700], [/color][color=#0000bb]theo cái sườn của mấy blog rồi lên [/color][color=#dd0000]"google" [/color][color=#0000bb]seach[/color][color=#007700]. [/color][color=#0000bb]những bài về englishrất là chất lượng và dễ hiểu[/color][color=#007700]. [/color][color=#0000bb]có điều nó không dạy mộtsố kỹ năng nhỏ như trên[/color][color=#007700]. [/color][color=#0000bb]hì[/color][color=#007700].[/color][color=#0000bb]thanks you[/color][color=#007700]: [/color][color=#0000bb]tiasangmoi92 nhiều hí[/color][color=#007700].[/color] 

  8. #8
    Ngày tham gia
    Jun 2014
    Bài viết
    0
    Mã nguồn PHP:
    [color=#000000]
    đã đọc tường tận[/color][color=#007700]. [/color][color=#0000bb]phù[/color][color=#007700], [/color][color=#0000bb]cố gắng rùa bò tới đích[/color][color=#007700]. [/color][color=#0000bb]keep trying[/color][color=#007700]! [/color] 

  9. #9
    Ngày tham gia
    Apr 2015
    Bài viết
    0
    ai có thể up lại file quản lí trường học cho mình vs đc không, hoặc có thể gửi cho mình qua gmail đc k? tranvantho.t3@gmail.com

  10. #10
    Ngày tham gia
    Apr 2015
    Bài viết
    0
    hi all,

    trong một chuong trình có nhiều class, thì java sẽ bắt đầu chạy từ lớp nào ? có cách nào để buộc chương trình sẽ chạy 1 lớp đầu tiên hay ko ?

    thanks,

Trang 1 của 2 12 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • 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
  •