Tuy nhiên còn nhiều chỗ trình bày chưa sát với ý câu hỏi.
Dưới đây là 1 bài trình bày của 1 SV:
Lập trình hướng đối tượng
1. Class (mô tả phân loại đối tượng)
- Lớp là một khái niệm trừu tượng nhằm mô tả và phân loại một tập hợp các đối tượng như nhau về thuộc tính và phương thức.
- Các thành phần cơ bản:
+ Class name (tên)
+ Constructor(khởi tạo)
+ Attributes(Thuộc tính)
+ Properties(Thuộc tính)
+ Method(Phương thức)
- Việc đặt tên một class cũng lên có một số chú ý như sau:
+ Tên class phải là một danh từ.
+ Không thể để trong trường hợp lẫn lộn tên, kí tự đầu tiên có thể viết Hoa.
+ Không thể trùng từ khóa.
+ Không thể bắt đầu với một số.
- Ví dụ:
Class abc
{
private int a;
public int A;
{
get{return a;}
set{a=value;}
....
}
}
2. Object (đối tượng)
- Đối tượng phản ánh một thực thể có thực, mô tả được mọi hiện thực khách quan trên thực tế.
- Gồm 2 TP chính:
+ Đặc điểm (thuộc tính)
+ Hành vi (phương thức)
Ví dụ:
HocSinh hs = new HocSinh();
3. Field ( trường dữ liệu trong Class)
- Dùng để khai báo 1 đối tượng
- Tên trường thường viết thường
- Tên biến truyền vào thường viết in hoa
- Từ khóa Private, public
Ví dụ:
Private int x;
4. Properties (Thuộc tính)
- Thuộc tính: thông tin mô tả đối tượng
- Kí hiệu: Hình vuông có bàn tay (trong C#)
Ví dụ:
Class HocSinh
Private string ten;
Private int tuoi;
5. Method ( phương thức)
- Là hành động của đối tượng, tác động ra bên ngoài(chủ động), hoặc bị bên ngoài tác động vào(bị động)
- Kí hiệu: Hình thoi màu hồng(trong C#)
- Phương thức phổ biến: Mặc định và truyền biến
+ Mặc định: public TênĐT()
+ Truyền biến: public tênĐT (danh sách tham số truyền)
{
Tên ĐT= tham số;
}
Ví dụ:
n.Tostring();
// Tostring: cung cấp chuỗi thể hiện của ĐT
6. Event (sự kiện)
Sự kiện là hành động nào đó được thực hiện khi có sự thay đổi trạng thái của đối tượng được tác động bởi người dùng hoặc hệ thống
Ví dụ: Event load form
7. Câu lệnh ở chế độ Console
1 số câu lênh cơ bản:
_ Console.Write(“”); //Nhập
_ Console.WriteLine(“”);
_ Console.ReadLine() ; // Xuống dòng
_ Console.ReadKey();// Dừng màn hình
8. Window form
Có thể tạo nhiều Form trên cùng 1 dự án
Các yếu tố cơ bản cần có đối với 1 Forms:
+ Name: Tên
+ Text
+ Windows State: Trạng thái: Normal, Minimized; Maximized
9. Tool box
- Có rất nhiều công cụ trong ToolBox, cần lựa chọn cho hợp lý đối với từng bài cụ thể
+ Textbox
+ Label
+ Linklabel
+ Button
+ Checkbox
+ radioButton
+ listbox
+ picturebox
+ dataGridview
+ panel...
10. Message box (tin nhắn thông báo cho người dùng)
- Có 3 cách dùng cơ bản:
+ MessageBox
+ MessageBoxbutton
+ MessageBoxIcon.
Ví dụ:
If ( MessageBox.Show( “Bạn có muốn thoát không”,”Thông báo”,MessageBoxbutton.Okcancel,MessageBoxIcon.information)==dialogResult.OK)
11. Kế thừa
- Cho phép xây dựng lớp mới được thừa hưởng các thuộc tính của lớp đã có.
- Tạo ra 1 lớp mới có đầy đủ tất cả những tính chất và phương thức của 1 lớp đã có mà không phải viết lại bất cứ 1 dòng lệnh nào .
Ví dụ:
public class Book:product
{
}
// Khai báo lớp book có tính chất public, được dẫn xuất từ lớp Product
12. SQL server
- Công nghệ lưu trữ dữ liệu dựa trên ngôn ngữ SQL
13. Server name
- Tên máy chủ
14. Data Acess
- Kết nối với CSDL và thực thi lệnh SQL
- Thực thi xong lớp này thường Build để thu được file Acess.dll để tiếp tục làm lớp tiếp theo
Ví dụ:
public class Data
{
public SqlConnection getConnect(){...} //kết nối với CSDL
public DataTable GetTable(string sql) {...} //trả về 1 bảng
public void ExecuteNonQuery(sting sql) {...} // lệnh thực thi 1 câu lệnh SQL
}
15. Data sousce
- Nguồn dữ liệu
- Ràng buộc dữ liệu trên điều khiển của Windows Forms
- Thường liên quan đến dataGridView, ListBox
Ví dụ:
this.dataGridView1.DataSource = dt;
16. DataAdapter
- Thích ứng DL
- Điền vào một DataTable với một bảng từ cơ sở dữ liệu SQL Server của bạn.
Ví dụ:
SqlDataAdapter ad = new SqlDataAdapter(sql, conn);
17. DataTable
- Bảng DL: để lưu trữ dữ liệu từ bất cứ nguồn nào
- Với nó chúng ta làm việc với các đối tượng từ bộ nhớ và hiển thị kết quả trong bảng điều khiển như DataGridView
Ví dụ:
public DataTable GetTable(string sql)
{
DataTable dt = new DataTable();
Return dt;
}
//Trả về 1 bảng
18. Business Logic Layer
- Xử lý lệnh sql và gọi lớp 1 thực thi
- Khi đã thực hiện xong lớp 1 và thu được file Acess.dll
- Lớp này thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch vụ do lớp DataAccess cung cấp, và cung cấp các dịch vụ cho lớp Presentation
Ví dụ:
public class DT
{
Data da = new Data();
public DataTable ShowDT() {...} //Định nghĩa hàm ShowDT() kiểu DataTable
public void InsertDT (string ml, string tl) {...}//Thực thi 1 câu lệnh chèn vào bảng
public void UpdateDT(string ml1, string ml, string tl) {....}//Thực thi câu lệnh cập nhật
public void DeleteDT(string ml) {....} //Thực thi xóa lớp
public DataTable lookDT(string dk){...} // Thực thi tìm kiếm
}
// cấu trúc TQ của lớp 2
19. Presentation Layer (Tầng trình diễn)
- Giao diện người dùng thao tác gọi hàm lớp 2 xử lý
- Khi làm xong 2 lớp DAL và BLL, đã Build xong để tham khảo. Lớp này không nên sử dụng trực tiếp các dịchvụ của lớp Data Access mà nên sử dụng thông qua các dịch vụ của lớp Business Logic vì khi sử dụng trực tiếp như vậy, có thể bỏ qua các ràng buộc, các logic nghiệp vụ mà ứng dụng cần phải có.
Ví dụ:
using BusinessLogic; //Sử dụng các giá trị thiết lập ở lớp 2 đã tạo
namespace NB
{
public partial class : Form:Form1
{
public frmNB()
{
InitializeComponent();
}
private void frmNB_Load(object sender, EventArgs e)
{
}
20. SQL:select * from
- Lựa chọn 1 đối tượng trong sql
- Phải gọi đúng giá trị biến nếu không sẽ báo lỗi
Ví dụ:
Public DataTable ShowLop()
{
string sql;
sql = "Select * from Lop";
}
21. SQL: insert into
- Chèn 1 bản ghi vào bảng thuộc CSDL
- Phải viết đúng tên bản ghi cần chèn giống như trong CSDL đã tạo
Ví dụ:
public void InsertLop(string ml, string tl, string time, string capacity)
{
string sql = "insert into Diem values('" + Diem + "',N'" + MaSV + "', N'" + MaMH + "', N'";
da.ExecuteNonQuery(sql);
//lệnh thực thi không trả về bảng đã viết bên lớp 1
//N phòng trường hợp lỗi font tiếng \việt
}
22. SQL: update..
- Chỉnh sử, cập nhật, sửa đổi dữ liệu trong CSDL
- Khóa chính không phải là đối tương tác động chính
Ví dụ:
public void UpdateDiem(string maMH, string maSV, string Diem)
{
string sql = "update Diem set maMH'" + maMH + "', Diem=N'" + Diem + "' where maSV'" + maSV + "'";
da.ExecuteNonQuery(sql);
}
23. SQL: Delete
- Hàm xóa DL
- Tác động chủ yếu đến khóa chính
Ví dụ:
public void DeleteDiem(string MaSV)
{
string sql = "delete diem where MaSV=N'" + maSv + "'";
da.ExecuteNonQuery(sql);
}
24. Set
- Thiết lập dữ liệu
Ví dụ:
set
{
Thuộc tính = giá trị;
}
private int a; public int A
set { a = value; }
25. Get
- Lấy dữ liêu
Ví dụ:
get
{
return Thuộctính;
}
private int a;
public int A
get { return a; }
26. Contructor
- Khởi tạo: Phương thức đặc biệt trong lớp.
- Được gọi khi đối tượng được tạo.
- Cùng tên với tên lớp .
- Không có giá trị trả về.
Ví dụ:
Public Student (string name)
{
Name=sname;
}
27. Decontructor
- Hủy khởi tạo: Được gọi tự động khi đối tượng được hủy
- Tên của hàm hủy trùng tên với lớp, có dấu ~ phía trước.
- Hàm hủy không nhận tham số bên trong nó.
28. Từ khóa public
- Từ khóa để chỉ phạm vi truy cập đến nó.
- Được sử dụng trong nội bộ lớp và lớp con kế thừa nó.
- Dùng tương đương với từ khóa protected
Public class Lop ()
{
}
29. Từ khóa private
- Từ khóa để bảo vệ quyền riêng tư
- Chỉ sử dụng trong nội bộ lớp.
- Thành viên trong 1 lớp A đươc đánh dấu là private thì chỉ được truy cập bởi các phương thức của lớp A
Ví dụ:
Private string NV()
{
}
Luật An ninh mạng; Công cụ, phương pháp, kỹ thuật An ninh mạng; Đấu tranh chống luận điệu xuyên tạc đường lối chính sách của Đảng, Nhà nước; bảo vệ lý luận, chính trị, tư tưởng đạo đức Hồ Chí Minh trên không gian mạng; Tuyên truyền gương người tốt việc tốt,...
Thứ Hai, 24 tháng 3, 2014
Cấu trúc báo cáo NCKH Sinh Viên
CẤU TRÚC BÁO CÁO KẾT QUẢ ĐỀ TÀI NCKH SV
I. Cấu trúc tổng quát
Bìa 1
Bìa 2
Mục lục
Mục lục hình
Mục lục bảng
Chữ viết tắt
Phần mở đầu
Chương 1
Chương 2 ...
Kết luận
Tài liệu tham khảo
II. Cấu trúc Phần mở đầu
PHẦN MỞ ĐẦU
1. Tên đề tài: Tên đề tài được ghi trong quyết định chính thức
2. Mã số: Mã số được ghi trong QĐ chính thức
3. Nhóm SV nghiên cứu: Tên từng thành viên trong nhóm, đơn vị lớp
4. Giáo viên hướng dẫn: Học hàm, học vị, họ tên, đơn vị công tác
5. Giới thiệu khái quát về vấn đề nghiên cứu:
- Vấn đề nghiên cứu... thuộc lĩnh vực nào, mục tiêu nghiên cứu là gì? Vấn đề nghiên cứu tác động vào đâu, mang lại lợi ích gì cho lý thuyết, thực tiễn và học tập?
- Những vấn đề liên quan: Để thực hiện được đề tài, cần nghiên cứu đến những vấn đề gì?
- Giới hạn phạm vi: Để giải quyết những vấn đề liên quan trên cần thời gian, không gian như thế nào? Trong khuôn khổ giới hạn của một đề tài NCKH SV, thì cần giới hạn như thế nào là phù hợp?
- Những kết quả cần phải đạt được: Về lý thuyết cần thực hiện những vấn đề gì? Về sản phẩm phần mềm, phần cứng (nếu có) cần phải đạt được là gì?
6. Đối tượng và tài liệu nghiên cứu - Để thực hiện được những kết quả nêu trên nhóm nghiên cứu đã tham khảo trên những tập tài liệu gì? nguồn tìm kiếm ở đâu, hoặc do ai cung cấp? - Đã khảo sát thực tế ở đâu (nếu có)?
7. Phân công nhiệm vụ trong nhóm nghiên cứu - Ai? Làm gì trong từng kết quả nghiên cứu 8. Những vấn đề trình bày trong báo cáo kết quả đề tài NC (Kết quả chính thức của đề tài nghiên cứu) - Chương 1 trình bày cái gì? - Chương 2 trình bày cái gì? ....
I. Cấu trúc tổng quát
Bìa 1
Bìa 2
Mục lục
Mục lục hình
Mục lục bảng
Chữ viết tắt
Phần mở đầu
Chương 1
Chương 2 ...
Kết luận
Tài liệu tham khảo
II. Cấu trúc Phần mở đầu
PHẦN MỞ ĐẦU
1. Tên đề tài: Tên đề tài được ghi trong quyết định chính thức
2. Mã số: Mã số được ghi trong QĐ chính thức
3. Nhóm SV nghiên cứu: Tên từng thành viên trong nhóm, đơn vị lớp
4. Giáo viên hướng dẫn: Học hàm, học vị, họ tên, đơn vị công tác
5. Giới thiệu khái quát về vấn đề nghiên cứu:
- Vấn đề nghiên cứu... thuộc lĩnh vực nào, mục tiêu nghiên cứu là gì? Vấn đề nghiên cứu tác động vào đâu, mang lại lợi ích gì cho lý thuyết, thực tiễn và học tập?
- Những vấn đề liên quan: Để thực hiện được đề tài, cần nghiên cứu đến những vấn đề gì?
- Giới hạn phạm vi: Để giải quyết những vấn đề liên quan trên cần thời gian, không gian như thế nào? Trong khuôn khổ giới hạn của một đề tài NCKH SV, thì cần giới hạn như thế nào là phù hợp?
- Những kết quả cần phải đạt được: Về lý thuyết cần thực hiện những vấn đề gì? Về sản phẩm phần mềm, phần cứng (nếu có) cần phải đạt được là gì?
6. Đối tượng và tài liệu nghiên cứu - Để thực hiện được những kết quả nêu trên nhóm nghiên cứu đã tham khảo trên những tập tài liệu gì? nguồn tìm kiếm ở đâu, hoặc do ai cung cấp? - Đã khảo sát thực tế ở đâu (nếu có)?
7. Phân công nhiệm vụ trong nhóm nghiên cứu - Ai? Làm gì trong từng kết quả nghiên cứu 8. Những vấn đề trình bày trong báo cáo kết quả đề tài NC (Kết quả chính thức của đề tài nghiên cứu) - Chương 1 trình bày cái gì? - Chương 2 trình bày cái gì? ....
Thứ Ba, 4 tháng 3, 2014
Khởi tạo và truyền giá trị từ chương trình vào lớp - Bài toán Circle
a) Định nghĩa một lớp Circle
với trường dữ liệu bán kính r là số nguyên. Trong đó:
- Định nghĩa thuộc tính nhận
và lấy dữ liệu.
- Xây dựng phương thức khởi
tạo dữ liệu mặc định
- Xây dựng phương thức khởi
tạo dữ liệu truyền biến
- Xây dựng hàm tính chu vi
hình tròn
- Xây dựng hàm tính diện tích
hình tròn
b) Tại chương trình chính:
- Định nghĩa 2 đường tròn C
và D
- Nhập vào bán kính R1 và R2
của hai đường tròn
- Khởi tạo giá trị cho đường
tròn C theo phương thức khởi tạo mặc định
- Tính và in ChuVi và
DienTich của đường tròn C ra màn hình
- Khởi tạo giá trị cho đường
tròn D theo phương thức khởi tạo truyền biến
- Tính và in ChuVi và
DienTich của đường tròn D ra màn hình
Download Coding: http://www.mediafire.com/download/7eydtoskmaovm3j/LopCircle.rar
Nội dung coding
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LopCircle
{
class Circle
{
private int r;
//Thuộc tính để lấy bán kính và đặt giá trị bán kính
public int R
{
get { return r; }
set { r = value; }
}
//Khởi tạo mặc định
public Circle()
{
}
//Khởi tạo truyền biến
public Circle(int R)
{
r = R;
}
//Phương thức tính ChuVi
public double ChuVi()
{
return Math.PI * 2 * r;
}
//Phương thức tính Diện tích
public double DienTich()
{
return Math.PI * r * r;
}
}
class Program
{
static void Main(string[] args)
{
//Dùng hàm khởi tạo truyền tham biến
int R1;
Console.Write("Nhap ban kinh R1 =");
R1 = int.Parse(Console.ReadLine());
Circle c;
c = new Circle(R1);
Console.WriteLine("Chu vi = {0}",c.ChuVi());
Console.WriteLine("Dien tich = {0}", c.DienTich());
Console.ReadKey();
//Dùng hàm khởi tạo mặc định không truyền tham biến
int R2;
Console.Write("Nhap ban kinh R2 =");
R2 = int.Parse(Console.ReadLine());
Circle d;
d = new Circle();
d.R = R2;
Console.WriteLine("Chu vi = {0}", d.ChuVi());
Console.WriteLine("Dien tich = {0}", d.DienTich());
Console.ReadKey();
}
}
}
Thứ Hai, 3 tháng 3, 2014
Tìm hiểu hàm khởi tạo trong lập trình class
Ví dụ người ta định nghĩa một class về hình vuông như sau:
class HinhVuong
{
private int a;
public int A
{
set {a = value;}
get{value = a;}
}
public HinhVuong(int A)
{
a = A;
}
public void ChuVi()
{
}
public void DienTich()
{
}
}
Hãy giải thích từng đoạn trên dùng để làm gì? Lấy ví dụ minh họa và thực hiện trong chương trình chính sử dụng class để minh họa cho những nhận định của mình.
class HinhVuong
{
private int a;
public int A
{
set {a = value;}
get{value = a;}
}
public HinhVuong(int A)
{
a = A;
}
public void ChuVi()
{
}
public void DienTich()
{
}
}
Hãy giải thích từng đoạn trên dùng để làm gì? Lấy ví dụ minh họa và thực hiện trong chương trình chính sử dụng class để minh họa cho những nhận định của mình.
Class in c# (30-31-32)
Bài 32.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ct24_kethua
{
classtau
{
publicint
nhienlieu;
public
tau()
{
nhienlieu = 10;
}
public tau(int x)
{
nhienlieu = x;
}
//Hàm
đốt nhiên liệu sẽ có kế thừa từ lớp tàu chiến
publicvoid
dotnhienlieu(int x)
{
nhienlieu=nhienlieu-x;
}
}
}
using
System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//Ke thua, su dung ham
base de lua chon ham tao
namespace ct24_kethua
{
classtauchien:tau//tàu chiến kế thừa từ tàu
{
publicint
sung;
publicint dan;
public
tauchien(int x, int
y, int z):base(z)
{
sung = x;
dan = y;
}
//Ham ban se ke thua
ham dotnhienlieu tu lop Co so
publicvoid
ban()
{
base.dotnhienlieu(5);
dan = dan - 1;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//Ke thua, su dung ham
base de lua chon ham tao
namespace ct24_kethua
{
classProgram
{
staticvoid Main(string[]
args)
{
tau a = newtau();
tauchien b = newtauchien(1,500,200); //dùng
hàm khởi tạo
Console.WriteLine("----Tau ban
dau-------");
Console.WriteLine(a.nhienlieu);
Console.WriteLine("----Tau
Chien-------");
Console.WriteLine("sung={0}",b.sung);
Console.WriteLine("dan={0}",b.dan);
Console.WriteLine("nhienlieu={0}",b.nhienlieu);
b.ban();
Console.WriteLine("----Tau
chien sau khi ban-------");
Console.WriteLine("sung={0}", b.sung);
Console.WriteLine("dan={0}",
b.dan);
Console.WriteLine("nhienlieu={0}",
b.nhienlieu);
Console.ReadKey();
}
}
}
Bài 33.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace _32.Class_TauThuy_Dahinh
{
publicpartialclassForm1 : Form
{
public Form1()
{
InitializeComponent();
}
classtau//Lớp dẫn xuất
{
publicvirtualvoid Laythongtin()
{
MessageBox.Show("Đây
là tàu lớp cơ sở ");
}
}
classtauchien : tau//kế thừa
{
publicoverridevoid Laythongtin()
{
MessageBox.Show("Đây
là tàu chiến");
}
}
classtauchohang : tau//kế thừa
{
publicoverridevoid Laythongtin()
{
MessageBox.Show("Đây
là tàu chờ hàng");
}
}
privatevoid Form1_Load(object sender, EventArgs
e)
{
this.txtMinhHoa.Text = "Ba lớp (tàu,tàu chiến, tàu chở hàng) đều chứa hàm Laythongtin().
";
this.txtMinhHoa.Text = this.txtMinhHoa.Text + "Lớp
tàu chiến kế thừa Lớp tàu, Lớp tàu chở hàng kế thừa Lớp tàu. " ;
this.txtMinhHoa.Text = this.txtMinhHoa.Text + "Định
nghĩa một mảng tàu, và gán cho các phần tử của mảng là các loại tàu khác nhau.
";
this.txtMinhHoa.Text = this.txtMinhHoa.Text + "Gọi
thực hiện mangtau[i].LayThongtin() cho kết quả đúng theo loại tàu. ";
this.txtMinhHoa.Text = this.txtMinhHoa.Text + "Tính
đa hình đã được thể hiện.";
string filename;
filename = "Form1.cs";
txtContent.Text = File.ReadAllText(filename);
}
privatevoid btnThucHien_Click(object sender, EventArgs
e)
{
tau[] mangtau = newtau[3];
mangtau[0] = newtau();
mangtau[1] = newtauchien();
mangtau[2] = newtauchohang();
for (int
i = 0; i < 3; i++)
{
mangtau[i].Laythongtin();
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace _32.Class_TauThuy_Dahinh
{
staticclassProgram
{
///
/// The main entry point
for the application.
///
[STAThread]
staticvoid Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(newForm1());
}
}
}
Bài 34.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BaiThucHanhLop
{
classStudent
{
privatestring _hoTen;
privateint
_tuoi;
privatedouble
_diemToan;
privatedouble
_diemVan;
privatedouble
_dtb;
//Hàm
khởi tạo không có tham số
public Student()
{
HoTen = "";
DiemVan = 0;
DiemToan = 0;
Dtb = 0;
}
//Các phương thức
Properties để get/set giá trị cho các thuộc tính
publicstring HoTen
{
get { return
_hoTen; }
set { _hoTen = value; }
}
publicint Tuoi
{
get { return
_tuoi; }
set { _tuoi = value; }
}
publicdouble DiemToan
{
get { return
_diemToan; }
set { _diemToan = value; }
}
publicdouble DiemVan
{
get { return
_diemVan; }
set { _diemVan = value; }
}
publicdouble Dtb
{
get { returnMath.Round(((DiemToan + DiemVan) / 2), 2); }
set { _dtb = value;
}
}
//Các phương thức
nhập/xuất dữ liệu
publicvoid nhap()
{
Console.Write("
\t -Nhap ho ten:");
HoTen = Console.ReadLine();
Console.Write(" \t -Nhap diem
toan:");
Double temp;
temp = double.Parse(Console.ReadLine());
if (temp > 10 || temp < 0)
{
Console.WriteLine(" \t !!! Diem
phai nam trong khoang 0 -> 10");
Console.Write(" \t -Nhap lai
diem toan:");
temp = double.Parse(Console.ReadLine());
}
DiemToan = temp;
Console.Write(" \t -Nhap diem
van:");
temp = double.Parse(Console.ReadLine());
if
(temp > 10 || temp < 0)
{
Console.WriteLine(" \t -Diem
phai nam trong khoang 0 -> 10");
Console.Write(" \t -Nhap lai
diem Van:");
temp = double.Parse(Console.ReadLine());
}
DiemVan = temp;
}
publicvoid
xuat()
{
Console.WriteLine("{0,-15}{1,-15}{2,-15}{3,-15}", HoTen, DiemToan,
DiemVan, Dtb);
}
}
classProgram
{
publicstaticvoid Main()
{
int n;
Console.Write("
Nhap so luong hoc sinh: ");
n = int.Parse(Console.ReadLine());
Student[] _arrStudent = newStudent[n];
for (int
i = 0; i < n; i++)
{
Console.WriteLine(" Nhap thong tin sinh vien thu: " + (i +
1).ToString());
_arrStudent[i] = newStudent();
_arrStudent[i].nhap();
}
Console.WriteLine(" Danh sach hoc sinh: ");
Console.WriteLine("{0,-15}{1,-15}{2,-15}{3,-15}", "Ho Ten", "Diem
Toan", "Diem Van", "DTB");
for (int
i = 0; i < n; i++)
{
_arrStudent[i].xuat();
}
Console.ReadLine();
}
}
}
Class in c# (2)
Bài 29. Khởi tạo mặc định và khởi tạo truyền tham biến
1. Tạo một lớp Date gồm:
- Trường số liệu: ba trường số nguyên: dd, mm, yy
- Phương thức: gồm 2 phương thức khởi tạo khác nhau
+ Khởi tạo mặc định, gán sẵn số liệu là 05/12/69.
+ Khởi tạo truyền biến thông qua các biến dd, mm, yy
2. Tại chương trình chính (dạng windows Forms)
- Thiết kế nút lệnh để thực hiện khởi tạo mặc định, hiện kết
quả ra textbox.
- Thiết kế nút lệnh để thực hiện khởi tạo các giá trị ngày
tháng năm thông qua 3 textbox do người dùng nhập giá trị thực. Kết quả hiện ra
dữ liệu ở textboxkq.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _29.Class_KhoiTao1
{
classDate
{
publicint dd, mm, yy;
public Date(): this(5,
12, 1969)
{
}
public Date(int
dd, int mm, int
yy)
{
khoitao(dd, mm, yy);
}
publicvoid khoitao(int
dd, int mm, int
yy)
{
this.dd = dd;
this.mm = mm;
this.yy = yy;
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace _29.Class_KhoiTao1
{
publicpartialclassForm1 : Form
{
public Form1()
{
InitializeComponent();
}
privatevoid btnDefault_Click(object sender, EventArgs
e)
{
Date a = newDate();
this.txta.Text = a.dd + "/" + a.mm + "/"
+ a.yy;
}
privatevoid btnFunction_Click(object sender, EventArgs
e)
{
Date b = newDate(15, 12, 2014);
this.txtb.Text = b.dd + "/" + b.mm + "/"
+ b.yy;
}
privatevoid button1_Click(object sender, EventArgs
e)
{
Close();
}
privatevoid Form1_Load(object sender, EventArgs
e)
{
}
}
}
Bài 30. Minh họa sự kế thừa, minh họa tính chất private và public các trường dữ liệu trong quá trình kế thừa.
1. Tạo lớp tàu có cấu trúc
classtau
{
//Các trường dữ liệu
publicstring hangsx;
publicint nhienlieu;
//Khởi tạo mặc định
public
tau()
{
hangsx = "VinaLine";
nhienlieu = 10;
}
}
2. Tạo lớp tàu chiến,
kế thừa lớp tàu:
classtauchien:tau
{ //Khai báo trường dữ liệu
//2
trường private và 1 trường public, các trường khác kế thừa từ lớp tau
//trường
private là trường riêng, nên muốn truy cập đến
//2
trường này cần phải định nghĩa hàm thuộc tính có chứa get và set
//2
trường riêng này các lớp dẫn xuất không kế thừa được
privatestring sung;
privatestring dan;
publicstring chieudai;
//thuộc tính Sung để
tác động đến trường sung
publicstring Sung
{
set { sung = value;
}
get { return
sung; }
}
//thuộc tính Dan để
tác động đến trường dan
publicstring Dan
{
set { dan = value;
}
get { return
dan; }
}
//Khởi tạo giá trị mặc
định của tàu chiến
public tauchien()
{
sung = "12ly7";
dan = "Lien
thanh";
chieudai = "100m";
}
}
3. Tạo lớp tàu chở hàng, kế thừa lớp tàu chiến
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ct24_kethua
{
classtauchohang:tauchien
{
//Gồm 1 trường dữ liệu
//Các dữ liệu khác kế
thừa từ lớp tauchien
publicint
noichuahang;
public
tauchohang()
{
noichuahang=1500;
}
}
}
4. Tại chương
trình chính thực hiện
classProgram
{
staticvoid Main(string[]
args)
{
tau a = newtau();
tauchien b = newtauchien();
tauchohang c = newtauchohang();
Console.WriteLine("Tau thong
thuong:");
Console.WriteLine("Hang san
xuat: {0}, Nhien lieu mac dinh {1}", a.hangsx, a.nhienlieu );
Console.WriteLine("------------------------");
//Lớp
tàu chiến
//Do
trường sung va dan là 2 trường private nên muốn lấy dữ liệu phải thông qua 2
phương thức Sung và Dan
//hangsx
và nhienlieu kế thừa từ lớp tau sang
Console.WriteLine("TAU
CHIEN:");
Console.WriteLine("Hang san
xuat: {0}, Nhien lieu mac dinh {1}", b.hangsx,b.nhienlieu);
Console.WriteLine("Sung: {0},
Dan: {1}", b.Sung, b.Dan);
Console.WriteLine("Chieu dai:
{0} ", b.chieudai);
Console.WriteLine("------------------------");
//Lớp
tàu chở hàng
//c.chieudai
kế thừa từ lớp tàu chiến
//c.nhienlieu
và c.hangsx kế thừa bắc cầu thông qua lớp tàu chiến đến lớp tàu.
Console.WriteLine("TAU CHO
HANG:");
Console.WriteLine("Hang san
xuat: {0}, Nhien lieu mac dinh {1}", a.hangsx,c.nhienlieu);
Console.WriteLine("Noi chua
hang: {0}", c.noichuahang);
Console.WriteLine("Chieu dai:
{0} ", c.chieudai);
Console.ReadKey();
}
}
Bài 31.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ct24_kethua
{
classtau
{
publicint
nhienlieu;
publicstring
hangsx;
public
tau()
{
hangsx = "VinaLine";
nhienlieu = 10;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ct24_kethua
{
classtauchien:tau
{
publicstring sung;
publicstring dan;
public tauchien()
{
sung = "12ly7";
dan = "Lien
thanh";
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ct24_kethua
{
classtauchohang:tauchien
{
publicint
noichuahang;
public tauchohang()
{
noichuahang=1500;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ct24_kethua
{
classProgram
{
staticvoid Main(string[]
args)
{
tau a = newtau();
tauchien b = newtauchien();
tauchohang c = newtauchohang();
Console.WriteLine("Tau thong
thuong:");
Console.WriteLine("Hang san
xuat: {0}, Nhien lieu mac dinh {1}", a.hangsx, a.nhienlieu );
Console.WriteLine("------------------------");
Console.WriteLine("TAU
CHIEN:");
Console.WriteLine("Hang san
xuat: {0}, Nhien lieu mac dinh {1}", b.hangsx,b.nhienlieu);
Console.WriteLine("Sung: {0},
Dan: {1}", b.sung, b.dan);
Console.WriteLine("------------------------");
Console.WriteLine("TAU CHO
HANG:");
Console.WriteLine("Hang san
xuat: {0}, Nhien lieu mac dinh {1}", a.hangsx,c.nhienlieu);
Console.WriteLine("Noi chua
hang: {0}", c.noichuahang);
Console.ReadKey();
}
}
}
Đăng ký:
Bài đăng (Atom)