Bài tập 2 (cách làm hướng đổi tượng)
2 posters
Trang 1 trong tổng số 1 trang
Bài tập 2 (cách làm hướng đổi tượng)
Các bạn cho mình ý kiến về bài tập 2 này nhé (mình đã sửa lại theo cách hướng đối tượng)
Download ở đây: http://www.mediafire.com/?1deuzlnmkzg
Diễn giải cách làm:
Mình tạo một lớp đối tượng có tên là HButton kế thừa từ lớp Button của hệ thống với các thuộc tính và phương thức sau:
Thuộc tính:
- OriginalValue: chứa giá trị ban đầu
- CurrentValue: chứa giá trị thể hiện (hiện tại)
- RightObject: chứa thông tin về button liền kề bên phải
- LeftObject: chứa thông tin về button liền kề bên trái
- TopObject: chứa thông tin về button liền kề bên trên
- BottomObject: chứa thông tin về button liền kề bên dưới
- IsNoChanged: trả về "true" nếu giá trị thể hiện & giá trị ban đầu giống nhau
- CanSwitch: trả về "true" nếu button này có một button rỗng liền kề (có thể hoán đổi được)
Phương thức
- Switch(): Hoán đổi với button rỗng
- private MoveUp(): Hoán đổi với button phía trên
- private MoveDown(): Hoán đổi với button phía dưới
- private MoveLeft(): Hoán đổi với button bên trái
- private MoveRight(): Hoán đổi với button bên phải
Sau đây là code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Bai_2
{
class HButton : Button
{
//public properties
public string OriginalValue { get; set; }
public string CurrentValue {
get { return this.Text; }
set
{
this.Text = value;
//hide object if value is empty
if (value == string.Empty)
this.Visible = false;
else
this.Visible = true;
}
}
public HButton RightObject { get; set; }
public HButton LeftObject { get; set; }
public HButton TopObject { get; set; }
public HButton BottomObject { get; set; }
///
/// Check if OriginalValue equals CurrentValue
///
/// true/false
public bool IsNoChanged
{
get { return CurrentValue == OriginalValue; }
}
///
/// Check if this button can switch with other buttons
///
/// true/false
public bool CanSwitch
{
get
{
return (TopObject != null && TopObject.CurrentValue == string.Empty) ||
(BottomObject != null && BottomObject.CurrentValue == string.Empty) ||
(LeftObject != null && LeftObject.CurrentValue == string.Empty) ||
(RightObject != null && RightObject.CurrentValue == string.Empty);
}
}
//construction
public HButton()
{
OriginalValue = null;
CurrentValue = null;
RightObject = null;
LeftObject = null;
TopObject = null;
BottomObject = null;
}
public HButton(string _Value)
{
OriginalValue = _Value;
CurrentValue = _Value;
RightObject = null;
LeftObject = null;
TopObject = null;
BottomObject = null;
}
//public methods
///
/// Switch this button with emply button
///
public void Switch()
{
if (TopObject != null && TopObject.CurrentValue == string.Empty) MoveUp();
if (BottomObject != null && BottomObject.CurrentValue == string.Empty) MoveDown();
if (LeftObject != null && LeftObject.CurrentValue == string.Empty) MoveLeft();
if (RightObject != null && RightObject.CurrentValue == string.Empty) MoveRight();
}
//end public methods
//private methods
private void MoveUp()
{
TopObject.CurrentValue = this.CurrentValue;
this.CurrentValue = string.Empty;
}
private void MoveDown()
{
BottomObject.CurrentValue = this.CurrentValue;
this.CurrentValue = string.Empty;
}
private void MoveLeft()
{
LeftObject.CurrentValue = this.CurrentValue;
this.CurrentValue = string.Empty;
}
private void MoveRight()
{
RightObject.CurrentValue = this.CurrentValue;
this.CurrentValue = string.Empty;
}
}
}
Thanks,
Họa
Download ở đây: http://www.mediafire.com/?1deuzlnmkzg
Diễn giải cách làm:
Mình tạo một lớp đối tượng có tên là HButton kế thừa từ lớp Button của hệ thống với các thuộc tính và phương thức sau:
Thuộc tính:
- OriginalValue: chứa giá trị ban đầu
- CurrentValue: chứa giá trị thể hiện (hiện tại)
- RightObject: chứa thông tin về button liền kề bên phải
- LeftObject: chứa thông tin về button liền kề bên trái
- TopObject: chứa thông tin về button liền kề bên trên
- BottomObject: chứa thông tin về button liền kề bên dưới
- IsNoChanged: trả về "true" nếu giá trị thể hiện & giá trị ban đầu giống nhau
- CanSwitch: trả về "true" nếu button này có một button rỗng liền kề (có thể hoán đổi được)
Phương thức
- Switch(): Hoán đổi với button rỗng
- private MoveUp(): Hoán đổi với button phía trên
- private MoveDown(): Hoán đổi với button phía dưới
- private MoveLeft(): Hoán đổi với button bên trái
- private MoveRight(): Hoán đổi với button bên phải
Sau đây là code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Bai_2
{
class HButton : Button
{
//public properties
public string OriginalValue { get; set; }
public string CurrentValue {
get { return this.Text; }
set
{
this.Text = value;
//hide object if value is empty
if (value == string.Empty)
this.Visible = false;
else
this.Visible = true;
}
}
public HButton RightObject { get; set; }
public HButton LeftObject { get; set; }
public HButton TopObject { get; set; }
public HButton BottomObject { get; set; }
///
/// Check if OriginalValue equals CurrentValue
///
/// true/false
public bool IsNoChanged
{
get { return CurrentValue == OriginalValue; }
}
///
/// Check if this button can switch with other buttons
///
/// true/false
public bool CanSwitch
{
get
{
return (TopObject != null && TopObject.CurrentValue == string.Empty) ||
(BottomObject != null && BottomObject.CurrentValue == string.Empty) ||
(LeftObject != null && LeftObject.CurrentValue == string.Empty) ||
(RightObject != null && RightObject.CurrentValue == string.Empty);
}
}
//construction
public HButton()
{
OriginalValue = null;
CurrentValue = null;
RightObject = null;
LeftObject = null;
TopObject = null;
BottomObject = null;
}
public HButton(string _Value)
{
OriginalValue = _Value;
CurrentValue = _Value;
RightObject = null;
LeftObject = null;
TopObject = null;
BottomObject = null;
}
//public methods
///
/// Switch this button with emply button
///
public void Switch()
{
if (TopObject != null && TopObject.CurrentValue == string.Empty) MoveUp();
if (BottomObject != null && BottomObject.CurrentValue == string.Empty) MoveDown();
if (LeftObject != null && LeftObject.CurrentValue == string.Empty) MoveLeft();
if (RightObject != null && RightObject.CurrentValue == string.Empty) MoveRight();
}
//end public methods
//private methods
private void MoveUp()
{
TopObject.CurrentValue = this.CurrentValue;
this.CurrentValue = string.Empty;
}
private void MoveDown()
{
BottomObject.CurrentValue = this.CurrentValue;
this.CurrentValue = string.Empty;
}
private void MoveLeft()
{
LeftObject.CurrentValue = this.CurrentValue;
this.CurrentValue = string.Empty;
}
private void MoveRight()
{
RightObject.CurrentValue = this.CurrentValue;
this.CurrentValue = string.Empty;
}
}
}
Thanks,
Họa
brian- Admin
- Tổng số bài gửi : 74
Join date : 15/09/2009
Age : 40
Đến từ : Trái tim em
Re: Bài tập 2 (cách làm hướng đổi tượng)
Bái phục.. Tks Pác Họa hen.. để tui ngâm cứu.. cóa théc méc chi.. xin làm phiền tới Pác hen..!!
nanaly- Cống hiến
- Tổng số bài gửi : 376
Join date : 18/09/2009
Age : 40
Đến từ : QNgai
brian- Admin
- Tổng số bài gửi : 74
Join date : 15/09/2009
Age : 40
Đến từ : Trái tim em
Similar topics
» Hướng dẫn cách sử dụng Power Designer
» Điểm thi Lập trình hướng đối tượng 1
» Tai Lieu Lap trinh Huong Doi Tuong cua thay
» phân tích và thiết kế hướng đối tượng
» Lấy ý kiến về việc xếp giờ thực hành HƯỚNG ĐỐI TƯỢNG !!!!
» Điểm thi Lập trình hướng đối tượng 1
» Tai Lieu Lap trinh Huong Doi Tuong cua thay
» phân tích và thiết kế hướng đối tượng
» Lấy ý kiến về việc xếp giờ thực hành HƯỚNG ĐỐI TƯỢNG !!!!
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|
10/12/2020, 01:06 by Ti3uThucodon93
» Tiểu thuyết : Yêu anh là sai lầm của cuộc đời em
24/2/2019, 11:49 by Ti3uThucodon93
» Tiểu thuyết : Yêu sai thời điểm
23/2/2019, 16:39 by Ti3uThucodon93
» Thơ Trung Quốc !
15/10/2018, 10:05 by Ti3uThucodon93
» Câu nói hay !
22/1/2017, 15:59 by Ti3uThucodon93
» Thơ tình dài !
15/11/2016, 11:45 by Ti3uThucodon93
» Thơ 4 câu !
1/9/2016, 16:14 by Ti3uThucodon93
» Thơ hài hước !
9/8/2016, 09:04 by Ti3uThucodon93
» Cách chữa trị bệnh hôi nách dành cho sinh viên
30/7/2016, 16:02 by thammybacsihathanh