ASP.NET Tutorial/Development/Class
Содержание
- 1 Abstract class
- 2 Assign value to class public fields (C#)
- 3 Assign value to class public field (VB)
- 4 Call calss constructor to create new object (C#)
- 5 Call class constructor to create new object (VB)
- 6 Create read-only properties
- 7 Creating Partial Classes
- 8 Declaring Constructors
- 9 Declaring Interfaces
- 10 Declaring Namespaces
- 11 Define and use class in asp.net page (C#)
- 12 Define and use class in asp.net page (VB)
- 13 Inheritance and Abstract Classes
- 14 Overloading is useful when you want to associate related methods.
- 15 Override a property or method of a base class
Abstract class
public abstract class BaseEmployee
{
public abstract decimal Salary
{
get;
}
public string Company
{
get { return "Acme Software"; }
}
}
public class SalesEmployee : BaseEmployee
{
public override decimal Salary
{
get { return 67000.23m; }
}
}
Assign value to class public fields (C#)
<%@ Page Language="C#" %>
<script runat="server">
class Clock {
public int Second;
public int Minute;
public int Hour;
void SetTime(int intSec, int intMin, int intHour) {
Second = intSec;
Minute = intMin;
Hour = intHour;
}
}
void Page_Load(Object Sender, EventArgs e) {
Clock objClock = new Clock();
objClock.Second = 60;
Response.Write(objClock.Second);
}
</script>
<html><body>
</body></html>
Assign value to class public field (VB)
<%@ Page Language="VB" %>
<script runat="server">
Class Clock
public Second as integer
public Minute as integer
public Hour as integer
sub SetTime(intSec as integer, intMin as integer, _
intHour as integer)
Second = intSec
Minute = intMin
Hour = intHour
end sub
End Class
sub Page_Load(Sender as object, e as EventArgs)
dim objClock as new Clock
objClock.Second = 60
Response.Write(objClock.Second)
end sub
</script>
<html><body>
</body></html>
Call calss constructor to create new object (C#)
<script language="C#" runat="server">
public class Clock {
public int Second;
public int Minute;
public int Hour;
public static int ClockCounter = 0;
public static int AddClock(){
ClockCounter += 1;
return ClockCounter;
}
public void SetTime(int intSec, int intMin, int intHour)
{
Second = intSec;
Minute = intMin;
Hour = intHour;
}
}
</script>
<HTML>
<BODY>
<%
Clock objClock = new Clock();
objClock.SetTime(4,6,45);
Clock.AddClock();
Response.Write(Clock.ClockCounter);
%>
</BODY></HTML>
Call class constructor to create new object (VB)
<script language="VB" runat="server">
public class Clock
public Second as integer
public Minute as integer
public Hour as integer
public ClockCounter as integer = 0
public sub SetTime(intSec as integer, intMin as integer, _
intHour as integer)
Second = intSec
Minute = intMin
Hour = intHour
end sub
end class
</script>
<HTML>
<BODY>
<%
dim objClock as new Clock()
objClock.SetTime(4,6,45)
Response.Write(objClock.ClockCounter)
%>
</BODY></HTML>
Create read-only properties
File: ServerTime.cs
using System;
public class ServerTime
{
public string CurrentTime
{
get
{
return DateTime.Now.ToString();
}
}
}
Creating Partial Classes
File: FirstHalf.cs
public partial class Tweedle
{
private string _message = @"fir";
}
File: SecondHalf.cs
public partial class Tweedle
{
public string GetMessage()
{
return _message;
}
}
Declaring Constructors
A constructor is called when you create a new instance of a class.
File: Quote.cs
using System;
using System.Collections.Generic;
public class Quote
{
private List<string> _quotes = new List<string>();
public string GetQuote()
{
Random rnd = new Random();
return _quotes[rnd.Next(_quotes.Count)];
}
public Quote()
{
_quotes.Add("A");
_quotes.Add("B");
_quotes.Add("C");
}
}
Declaring Interfaces
An interface is a list of properties and methods that a class must implement.
public interface IProduct
{
decimal Price
{
get;
}
void SaveProduct();
}
public class MusicProduct : IProduct
{
public decimal Price
{
get { return 12.99m; }
}
public void SaveProduct()
{
// Save Music Product
}
}
public class BookProduct : IProduct
{
public decimal Price
{
get { return 23.99m; }
}
public void SaveProduct()
{
// Save Book Product
}
}
Declaring Namespaces
A namespace enables you to group related classes.
Namespaced.cs
namespace AspNetUnleashed.SampleCode
{
public class Namespaced
{
public string SaySomething()
{
return "Something";
}
}
}
Define and use class in asp.net page (C#)
<%@ Page Language="C#" %>
<script runat="server">
class MyValueClass {
public DateTime dtBirthDay = new DateTime(1999,6,27);
public string GetDayOfWeek() {
return(dtBirthDay.DayOfWeek.ToString());
}
}
void Button_Click(Object Sender, EventArgs e) {
MyValueClass objMyValueClass = new MyValueClass();
Response.Write(objMyValueClass.GetDayOfWeek());
}
</script>
<html><body>
<form runat="server">
<asp:button id="btSubmit" Text="Submit" runat=server OnClick="Button_Click"/>
</form>
</body></html>
Define and use class in asp.net page (VB)
<%@ Page Language="VB" %>
<script runat="server">
class MyValueClass
public dtBirthDay as new DateTime(1983,6,27)
function GetDayOfWeek() as String
return dtBirthDay.DayOfWeek.ToString()
end function
end class
sub Button_Click(Sender as Object, e as EventArgs)
dim objMyValueClass as new MyValueClass()
Response.Write(objMyValueClass.GetDayOfWeek())
end sub
</script>
<html>
<body>
<form runat="server">
<asp:button id="btSubmit" Text="Submit" runat=server OnClick="Button_Click"/>
</form>
</body>
</html>
Inheritance and Abstract Classes
public class BaseProduct
{
private decimal _price;
public decimal Price
{
get { return _price; }
set { _price = value; }
}
}
public class ComputerProduct : BaseProduct
{
private string _processor;
public string Processor
{
get { return _processor; }
set { _processor = value; }
}
}
public class TelevisionProduct : BaseProduct
{
private bool _isHDTV;
public bool IsHDTV
{
get { return _isHDTV; }
set { _isHDTV = value; }
}
}
using System;
public class StoreProduct
{
public void SaveProduct(string name)
{
SaveProduct(name, 0, String.Empty);
}
public void SaveProduct(string name, decimal price)
{
SaveProduct(name, price, String.Empty);
}
public void SaveProduct(string name, decimal price, string description)
{
// Save name, price, description to database
}
}
File: ProductConstructor.cs
using System;
public class ProductConstructor
{
public ProductConstructor(string name)
: this(name, 0, String.Empty) { }
public ProductConstructor(string name, decimal price)
: this(name, price, String.Empty) { }
public ProductConstructor(string name, decimal price, string description)
{
// Use name, price, and description
}
}
Override a property or method of a base class
public class ProductBase
{
private decimal _price;
public virtual decimal Price
{
get { return _price; }
set { _price = value; }
}
}
public class OnSaleProduct : ProductBase
{
override public decimal Price
{
get { return base.Price / 2; }
set { base.Price = value; }
}
}