Dec 09
Nov 05
Mình kiếm đc cái này học cũng khá hay , các bạn muốn học nó thì nên đọc quyển sách này .
http://www.4shared.com/file/62293255/5cfe22eb/DevelopingWebApplicationswithVisualBasicNETandVisualCSharpNET2ndEd.html
http://www.4shared.com/file/62293255/5cfe22eb/DevelopingWebApplicationswithVisualBasicNETandVisualCSharpNET2ndEd.html
Oct 30
Các bạn ơi giúp mình với!!!
Mình đang chuẩn bị thiết kế web đa ngôn ngữ nhưng tài lệi ít quá ai có thì cho gỡi cho mình với
Cảm ơn nhiều lắm
Mình đang chuẩn bị thiết kế web đa ngôn ngữ nhưng tài lệi ít quá ai có thì cho gỡi cho mình với
Cảm ơn nhiều lắm
Jul 25
Các bài vì dụ C# của chú Bill, ae down về mà tham khảo các hàm nhé :D
|
|
|||||
|
|
|||||
|
|||||
Jul 18
(Phần 1)
Bài này sẽ giúp bạn hiểu về cách thực thi OOP trong C#, ở phần 1, các bạn sẽ được tiếp cận định nghĩa khái niệm Lớp, Hàm tạo, hàm hủy.Chúng ta sẽ học
Những nội dung trong phần này tổng kết hóa những điểm quan trọng nhất về khái niệm OOP trong C#. Nội dung bao gồm:
* Định nghĩa lớp, đối tượng
* Hàm tạo (Constructor), hàm hủy (Destructor)
* Function Overloading.
* Thừa kế trong lập trình C#.
* Overriding Method.
* Polymorphism
* Abstract Class trong C#
* Namespaces
* Enumerators
Lớp (class) trong C#
Class
Một Class là một khái niệm mô tả cho những thực thể có chung tính chất và hành vi. Class định nghĩa những thuộc tính và hành vi được dùng cho những đối tượng của lớp đó. Do đó có thể nói Class là một khuôn mẫu cho các đối tượng.
Công thức để tạo một class
AccessModifier class className
{
// thân class
}
Đối tượng (Objects)
Đối tượng là một đại diện, hay có thể nói là một sản phẩm của một class. Tất cả các đối tượng đều có chung những thuộc tính và hành vi mà class định nghĩa. Cách tạo đối tượng giống như cách tạo một biến có kiểu dữ liệu là Class.
Ưu điểm của việc sử dụng Class và Đối tượng
Có một số những ưu điểm của việc sử dụng Class và đối tượng trong phát triển phần mềm. Những ưu điểm nổi bật nhất được liệt kê như sau:
* Duy trì code bằng việc mô hình hóa
* Đóng gói những sự phức tạp trong mã lênh từ người dùng
* Khả năng sử dụng lại
* Cung cấp đơn kế thừa để thực thi nhiều phương thức.
Hàm tạo (Constructors) và hàm hủy (Destructors) trong C#
Constructors
Constructors là những hàm đặc biệt cho phép thực thi, điều khiển chương trình ngay khi khởi tạo đôi tượng. Trong C#, Constructors có tên giống như tên của Class và không trả lại giá trị.
Ví dụ
class Library
{
private int ibooktypes;
//Constructor
public Library()
{
ibooktypes = 7;
}
public Library(int value)
{
ibooktypes = value;
}
}
Destructors
Là một hàm đặc biệt được sử dụng để làm sạch bộ nhớ. Cách khai báo giống như Constructor nhưng không có tham số và được bắt đầu bằng dấu “~”.
Ví dụ
class Library
{
private int ibooktypes;
//Constructor
public Library()
{
ibooktypes = 7;
}
public Library(int value)
{
ibooktypes = value;
}
~ Library()
{
//thực thi câu lệnh
}
}
(Phần 2): Function Overloading
Method Overloading xuất hiện khi trong một class có từ hai hàm có cùng tên. Có hai kiểu Method Overloading:
* Function Overloading dựa trên số lượng tham số truyền vào
* Function Overloading dựa trên kiểu giá trị tham số truyền vào.
Ví dụ
class Library
{
// Function Overloading
public void insertbooks(int id)
{
//
}
public void insertbooks(int id, int type)
{
//
}
public void insertbooks(string id, int type)
{
//
}
}
Ba hàm insertbooks ở trên là một ví dụ về function overloading trong lập trình C#. Trong khi hàm thứ nhất và thứ 2 là overloading theo số lượng tham số, và hàm thứ 3 với hàm thứ 2 là overloading theo kiểu tham số truyền vào.
(Phần 3): Thừa kế
ột trong những ưu điểm nổi bật của lập trình hướng đối tượng đó là thừa kế, đó là sự sử dụng lại những thuộc tính và hành vi của một lớp. Có hai kiểu kế thừa trong lập trình, đơn kế thừa và đa kế thừa.
Một trong những ưu điểm nổi bật của lập trình hướng đối tượng đó là thừa kế, đó là sự sử dụng lại những thuộc tính và hành vi của một lớp. Có hai kiểu kế thừa trong lập trình, đơn kế thừa và đa kế thừa.
C# cung cấp mô hình đơn kế thừa.
Ví dụ về kế thừa trong C#.
/* Ví dụ về thừa kế trong lậ trình C# */
using System;
using System.Collections.Generic;
using System.Text;
namespace __OOP_Inheritance
{
class Program
{
static void Main(string[] args)
{
Dog objDog = new Dog(4);
objDog.displayProperties();
Chicken objChicken = new Chicken(2);
objChicken.displayProperties();
Console.Read();
}
}
class Animal
{
protected int ifoots;
protected string sName;
protected void setFoot(int ival)
{
ifoots = ival;
}
protected void setName(string sVal)
{
sName = sVal;
}
public void displayProperties()
{
Console.WriteLine(sName + " have " + ifoots.ToString()+ " foots");
}
}
class Dog : Animal
{
public Dog(int ival)
{
setName("Dog");
ifoots = ival;
}
}
class Chicken : Animal
{
public Chicken(int ival)
{
setName("Chicken");
setFoot(ival);
}
}
}
Ở ví dụ trên, Dog và Chicken là hai lớp kế thừa từ lớp Animal, do đó các thuộc tính như số chân, ifoots và tên sName đương nhiên xuất hiện trong hai lớp này và cho phép sử dụng. Tương tự, các hàm như setName(), setFoot(), displayProperties() tại lớp Animal cũng được kế thừa xuống hai lớp Dog và Chicken. Do đó ta có thể gọi những hàm này, và kết quả hiển thị khi gọi hàm displayProperties() theo đối tượng objDog và objChicken là khác nhau.
(phần 4): tính đa hình - Polymorphism
Tính đa hình hay polymorphism là một trong những nét tạo nên đặc điểm nổi bật của OOP, bài viết này là một ví dụ về tính đa hình rõ nhất trong lập trình OOP với C#
Xét ví dụ sau đây:
using System;
using System.Collections.Generic;
using System.Text;
namespace __OOP_polymorphism
{
class Program
{
static void Main(string[] args)
{
Child objchild = new Child();
Console.WriteLine("Result is " + objchild.methodA().ToString());
Console.Read();
}
}
class Parent
{
public int methodA()
{
return methodB() * methodC();
}
public virtual int methodB()
{
return 1;
}
public int methodC()
{
return 2;
}
}
class Child : Parent
{
public override int methodB()
{
return 3;
}
}
}
Kết quả chạy trương trình : 6
Như bình thường của mô hình kế thừa, kết quả trả về khi gọi hàm methodA() từ đối tượng của lớp Child phải là “Result is 2”. Nhưng trong kết quả trên, kết quả là “Result is 6”. Kết quả này do hàm methodB() tại lớp Child đã override hàm methodB() tại lớp Parent.
Vậy ta có thể khái quá Polymorphism như sau:
* Polymorphism không chỉ đơn giản là overriding, mà nó là overrding thông minh.
* Khác biệt giữ Overriding và Polymorphism đó là trong Polymorphism, sự quyết định gọi hàm được thực hiện khi chương trình chạy.
(http://www.itgatevn.com.vn)
Bài này sẽ giúp bạn hiểu về cách thực thi OOP trong C#, ở phần 1, các bạn sẽ được tiếp cận định nghĩa khái niệm Lớp, Hàm tạo, hàm hủy.Chúng ta sẽ học
Những nội dung trong phần này tổng kết hóa những điểm quan trọng nhất về khái niệm OOP trong C#. Nội dung bao gồm:
* Định nghĩa lớp, đối tượng
* Hàm tạo (Constructor), hàm hủy (Destructor)
* Function Overloading.
* Thừa kế trong lập trình C#.
* Overriding Method.
* Polymorphism
* Abstract Class trong C#
* Namespaces
* Enumerators
Lớp (class) trong C#
Class
Một Class là một khái niệm mô tả cho những thực thể có chung tính chất và hành vi. Class định nghĩa những thuộc tính và hành vi được dùng cho những đối tượng của lớp đó. Do đó có thể nói Class là một khuôn mẫu cho các đối tượng.
Công thức để tạo một class
AccessModifier class className
{
// thân class
}
Đối tượng (Objects)
Đối tượng là một đại diện, hay có thể nói là một sản phẩm của một class. Tất cả các đối tượng đều có chung những thuộc tính và hành vi mà class định nghĩa. Cách tạo đối tượng giống như cách tạo một biến có kiểu dữ liệu là Class.
Ưu điểm của việc sử dụng Class và Đối tượng
Có một số những ưu điểm của việc sử dụng Class và đối tượng trong phát triển phần mềm. Những ưu điểm nổi bật nhất được liệt kê như sau:
* Duy trì code bằng việc mô hình hóa
* Đóng gói những sự phức tạp trong mã lênh từ người dùng
* Khả năng sử dụng lại
* Cung cấp đơn kế thừa để thực thi nhiều phương thức.
Hàm tạo (Constructors) và hàm hủy (Destructors) trong C#
Constructors
Constructors là những hàm đặc biệt cho phép thực thi, điều khiển chương trình ngay khi khởi tạo đôi tượng. Trong C#, Constructors có tên giống như tên của Class và không trả lại giá trị.
Ví dụ
class Library
{
private int ibooktypes;
//Constructor
public Library()
{
ibooktypes = 7;
}
public Library(int value)
{
ibooktypes = value;
}
}
Destructors
Là một hàm đặc biệt được sử dụng để làm sạch bộ nhớ. Cách khai báo giống như Constructor nhưng không có tham số và được bắt đầu bằng dấu “~”.
Ví dụ
class Library
{
private int ibooktypes;
//Constructor
public Library()
{
ibooktypes = 7;
}
public Library(int value)
{
ibooktypes = value;
}
~ Library()
{
//thực thi câu lệnh
}
}
(Phần 2): Function Overloading
Method Overloading xuất hiện khi trong một class có từ hai hàm có cùng tên. Có hai kiểu Method Overloading:
* Function Overloading dựa trên số lượng tham số truyền vào
* Function Overloading dựa trên kiểu giá trị tham số truyền vào.
Ví dụ
class Library
{
// Function Overloading
public void insertbooks(int id)
{
//
}
public void insertbooks(int id, int type)
{
//
}
public void insertbooks(string id, int type)
{
//
}
}
Ba hàm insertbooks ở trên là một ví dụ về function overloading trong lập trình C#. Trong khi hàm thứ nhất và thứ 2 là overloading theo số lượng tham số, và hàm thứ 3 với hàm thứ 2 là overloading theo kiểu tham số truyền vào.
(Phần 3): Thừa kế
ột trong những ưu điểm nổi bật của lập trình hướng đối tượng đó là thừa kế, đó là sự sử dụng lại những thuộc tính và hành vi của một lớp. Có hai kiểu kế thừa trong lập trình, đơn kế thừa và đa kế thừa.
Một trong những ưu điểm nổi bật của lập trình hướng đối tượng đó là thừa kế, đó là sự sử dụng lại những thuộc tính và hành vi của một lớp. Có hai kiểu kế thừa trong lập trình, đơn kế thừa và đa kế thừa.
C# cung cấp mô hình đơn kế thừa.
Ví dụ về kế thừa trong C#.
/* Ví dụ về thừa kế trong lậ trình C# */
using System;
using System.Collections.Generic;
using System.Text;
namespace __OOP_Inheritance
{
class Program
{
static void Main(string[] args)
{
Dog objDog = new Dog(4);
objDog.displayProperties();
Chicken objChicken = new Chicken(2);
objChicken.displayProperties();
Console.Read();
}
}
class Animal
{
protected int ifoots;
protected string sName;
protected void setFoot(int ival)
{
ifoots = ival;
}
protected void setName(string sVal)
{
sName = sVal;
}
public void displayProperties()
{
Console.WriteLine(sName + " have " + ifoots.ToString()+ " foots");
}
}
class Dog : Animal
{
public Dog(int ival)
{
setName("Dog");
ifoots = ival;
}
}
class Chicken : Animal
{
public Chicken(int ival)
{
setName("Chicken");
setFoot(ival);
}
}
}
Ở ví dụ trên, Dog và Chicken là hai lớp kế thừa từ lớp Animal, do đó các thuộc tính như số chân, ifoots và tên sName đương nhiên xuất hiện trong hai lớp này và cho phép sử dụng. Tương tự, các hàm như setName(), setFoot(), displayProperties() tại lớp Animal cũng được kế thừa xuống hai lớp Dog và Chicken. Do đó ta có thể gọi những hàm này, và kết quả hiển thị khi gọi hàm displayProperties() theo đối tượng objDog và objChicken là khác nhau.
(phần 4): tính đa hình - Polymorphism
Tính đa hình hay polymorphism là một trong những nét tạo nên đặc điểm nổi bật của OOP, bài viết này là một ví dụ về tính đa hình rõ nhất trong lập trình OOP với C#
Xét ví dụ sau đây:
using System;
using System.Collections.Generic;
using System.Text;
namespace __OOP_polymorphism
{
class Program
{
static void Main(string[] args)
{
Child objchild = new Child();
Console.WriteLine("Result is " + objchild.methodA().ToString());
Console.Read();
}
}
class Parent
{
public int methodA()
{
return methodB() * methodC();
}
public virtual int methodB()
{
return 1;
}
public int methodC()
{
return 2;
}
}
class Child : Parent
{
public override int methodB()
{
return 3;
}
}
}
Kết quả chạy trương trình : 6
Như bình thường của mô hình kế thừa, kết quả trả về khi gọi hàm methodA() từ đối tượng của lớp Child phải là “Result is 2”. Nhưng trong kết quả trên, kết quả là “Result is 6”. Kết quả này do hàm methodB() tại lớp Child đã override hàm methodB() tại lớp Parent.
Vậy ta có thể khái quá Polymorphism như sau:
* Polymorphism không chỉ đơn giản là overriding, mà nó là overrding thông minh.
* Khác biệt giữ Overriding và Polymorphism đó là trong Polymorphism, sự quyết định gọi hàm được thực hiện khi chương trình chạy.
(http://www.itgatevn.com.vn)
Jul 18
em làm chưc năng giỏ hàng cho web nhưng làm hoai vẫn chưa được , các anh có code cho em xin về nghiên cứu, em mới học asp.net nên đạo hạnh còn thấp, thanks.......!
Jul 16
mình có đọc một sồ Ebooks English về mô hình MVC, vì đạo hạnh chưa đủ nên không hiểu lắm, bạn nào biết về MVC xin Post bài tóm lược ,ưu khuyết điễm của mô hình này, có ví dụ càng tốt, xincám ơn...! em nguyện lấy thâng đền đáp ;)
Aug 15
Hướng dẫn viết một chương trình Sniffer
Aug 15
Sưu tầm: Viết plugin cho Yahoo! Messenger 8
Dec 23
Hướng dẫn viết một backdoor đơn giản trên Windows
Recent Comments