728x90
300x250

[C#.NET] 클래스 - Overriding 개념

C# Overriding은 불필요한 공통 변수 선언을 최소화하여 효율성을 높이는 개념입니다.
이전의 글 Override에서 언급한 부모와 자녀의 관계처럼 선언에 대해 관계를 형성하는 것으로 생각하시면 됩니다.


1. 코드

 

 


using System;
class Book
{
    public string title;
    public string editor;
    public string publisher;
    public decimal price;
    public int page;
    public Book(string intitle)
    {
        title = intitle;
    }
    public Book(string intitle, string ineditor)
    {
        title = intitle;
        editor = ineditor;
    }
    public Book(string intitle, string ineditor, string inpublisher, decimal inprice, int inpage)
    {
        title = intitle;
        editor = ineditor;
        publisher = inpublisher;
        price = inprice;
        page = inpage;
    }
    public void showfields()
    {
        Console.WriteLine("제목:" + title + "\n저자:" + editor + "\n출판사:"
            + publisher + "\n가격:" + price + "\n페이지:" + page + "\n");
    }
}
class Program
{
    static void Main()
    {
        Book ba = new Book("부의미래");
        Book bb = new Book("국화와 칼", "루스 베네딕트");
        Book bc = new Book("회계원리", "유관희", "흥문사", 23000, 549);
        ba.showfields();
        bb.showfields();
        bc.showfields();
    }
}
반응형
728x90
300x250

[C#.NET] 클래스 - 부모와 자녀의 파라메터 값을 중복 허용

만약 부모와 자녀가 갖고 있는 공통의 값이 예를 들자면 핸드폰이 있다고 칩시다.
cel이라는 파라메터가 둘 다 필요하게 될 것입니다.
자녀는 부모 없이 존재가능한가요?
즉 다시말하면 부모와 자녀와의 관계에서 공통적으로 갖는 특색이 중복되어야만 할 상황이 생길 때 해결하는 방법입니다.


1. 기본 클래스 방법(New 클래스를 이용)

이 예제에서 기본 클래스 BaseC 및 파생 클래스 DerivedC는 동일한 필드 이름 x를 사용하므로 상속된 필드의 값이 숨겨집니다.
이 예제는 new 한정자의 사용법을 보여 줍니다. 또한 정규화된 이름을 사용하여 기본 클래스의 숨겨진 멤버에 액세스하는 방법을 보여 줍니다.

using System;
public class BaseC
{
    public static int x = 55;
    public static int y = 22;
}
public class DerivedC : BaseC
{
    new public static int x = 100;
    static void Main()
    {
        Console.WriteLine(x);
        Console.WriteLine(BaseC.x);
        Console.WriteLine(y);
    }
}

100
55
22

이 예제에서 중첩 클래스는 기본 클래스에서 이름이 동일한 클래스를 숨깁니다. 이 예제에서는 new 한정자를 사용하여 경고 메시지를 제거하고 정규화된 이름을 사용하여 숨겨진 클래스 멤버에 액세스하는 방법을 보여 줍니다.


using System;
public class BaseC
{
    public class NestedC
    {
        public int x = 200;
        public int y;
    }
}
public class DerivedC : BaseC
{
    new public class NestedC
    {
        public int x = 100;
        public int y;
    }
    static void Main()
    {
        NestedC c1 = new NestedC();
        BaseC.NestedC c2 = new BaseC.NestedC();
        Console.WriteLine(c1.x);
        Console.WriteLine(c2.x);
    }
}

출력 : 100
         200



2. Virtual 선언과 Overide 이용


using System;

class Player
{
    virtual public void showMessage()
    {
        Console.WriteLine("Player 클래스의 메시지");
    }
}

class StarcraftPlayer : Player
{
    public override void showMessage()
    {
        Console.WriteLine("StarcraftPlayer");
    }
}

class Program
{
    static void Main()
    {
        StarcraftPlayer sp = new StarcraftPlayer();
        sp.showMessage();
        Player p = new Player();
        p.showMessage();
    }
}


반응형

'소프트웨어(SW) > MS - Visual C#.NET' 카테고리의 다른 글

[C#.NET] Base64  (0) 2010.12.22
[C#.NET] 클래스 - Overriding 개념  (0) 2010.11.24
[C#.NET] Out과 Ref의 차이점  (0) 2010.11.19
[C#.NET] foreach 문  (0) 2010.11.17
[C#.NET] 구조체 설명  (0) 2010.11.17
728x90
300x250

[Win2003] IIS 6 - ASP.NET 사용하기

Windows 2003에서 NET Framework의 ASP.NET을 사용하기 위해서는 별도로 환경설정을 설치를 해주어야 합니다.
먼저 IIS에서 ASP.NET을 사용하도록 허용한 뒤에 그것을 감지할 수 있는 환경설정 설치 프로그램을 통해 사용가능한 상태로 변경해주어야 합니다.

1. NET Framework ASP.NET의 Application 상태 허용



2. IIS WebSite의 Net Framework 버전을 선택하여 환경설정 하기



버전에 맞도록 설정한 내용을 통해 설치가 이루어집니다.
각 설정에 맞도록 별도의 디렉터리에 설치가 이루어집니다.

3. CMD(명령프롬프트)를 통한 환경설정 설치


C:\Windows\Microsoft.NET\Framework\버전\aspnet_regiis.exe -i

버전 별로 컴파일을 할 수 있으니 사용자의 환경에 맞게 찾아 컴파일하시면 됩니다.

반응형
728x90
300x250

[C.NET] Microsoft C# 공식 강좌 사이트 안내
http://msdn.microsoft.com/ko-kr/library/67ef8sbd(VS.80).aspx

이곳에 들어가시면 C#.net과 VB.net에 대한 상세한 프로그래밍 가이드를 보실 수 있습니다.
웬만한 프로그래밍 서적에 비해 깔끔하고 핵심만 추려 설명하고 있으니 참조 바랍니다.

반응형

+ Recent posts