程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#--第四周實驗--任務4--定義一個描述坐標點的CPoint類,派生出直線類Cline,在派生出矩形類CRect,實

C#--第四周實驗--任務4--定義一個描述坐標點的CPoint類,派生出直線類Cline,在派生出矩形類CRect,實

編輯:C#入門知識

[csharp] 
/* (程序頭部注釋開始)
 * 程序的版權和版本聲明部分
 * Copyright (c) 2011, 煙台大學計算機學院學生 
 * All rights reserved.
 * 文件名稱:定義一個描述坐標點的CPoint類,派生出直線類Cline,在派生出矩形類CRect,求兩點之間的距離以及矩形的面積與周長。
 * 作 者: 雷恆鑫 
 * 完成日期: 2012 年 09 月 22 日
 * 版 本 號: V1.0 
 * 對任務及求解方法的描述部分
 * 輸入描述:
 * 問題描述:
 * 程序輸出:
 * 程序頭部的注釋結束
 */ 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
 
namespace Four__week 

    class Program 
    { 
        static void Main(string[] args) 
        { 
            CPoint c1 = new CPoint(); 
            CPoint c2 = new CPoint(); 
            CPoint c3 = new CPoint(); 
            c1.setpoint(1, 1); 
            c2.setpoint(4, 5); 
            c3.setpoint(4, 1); 
            Cline m = new Cline(); 
            Console.WriteLine("兩點之間的距離為:{0}", m.distence(c1, c2)); 
            Cline m1 = new Cline(); 
            m.set_length(c3, c2); 
            m1.set_length(c1, c3); 
            CRect CR = new CRect(); 
            Console.WriteLine("矩形的周長為:{0}", CR.perimeter(m, m1)); 
            Console.WriteLine("矩形的面積為:{0}", CR.area(m, m1)); 
            Console.ReadKey(true); 
        } 
    } 
 
    class CPoint 
    { 
        private int x; 
        private int y; 
 
        public CPoint(int x1,int y2) 
        { 
            x = x1; 
            y = y2; 
        } 
 
        public CPoint() 
        { 
            x = 60; 
            y = 75; 
 
        } 
 
        public void display() 
        { 
            Console.WriteLine("x = {0}   y = {1}",x,y); 
        } 
        public void setpoint(int x1, int y1) 
        { 
            x = x1; 
            y = y1; 
        } 
        public int get_x() 
        { 
            return x; 
        } 
        public int get_y() 
        { 
            return y; 
        } 
    } 
 
    class Cline:CPoint 
    { 
        public double a; 
        public Cline(int a1) 
        { 
            a = a1; 
        } 
        public Cline() 
        { 
            a = 0; 
        } 
        public double distence(CPoint c1,CPoint c2) 
        { 
            return a = Math.Sqrt((Math.Pow((c1.get_x()-c2.get_x()),2)+Math.Pow((c1.get_y()-c2.get_y()),2))); 
        } 
        public double get_length() 
        { 
            return a; 
        } 
        public void set_length(CPoint c1, CPoint c2) 
        { 
            a = distence(c1,c2); 
        } 
    } 
    class CRect:Cline 
    { 
        public double m; 
        public double n; 
        public CRect(double a1,double b1) 
        { 
            m = a1; 
            n = b1; 
        } 
        public CRect() 
        { 
            m = 0; 
            n = 0; 
        } 
        public double perimeter(Cline c1,Cline c2) 
        { 
            return m = 2 * (c1.get_length() + c2.get_length()); 
        } 
 
        public double area(Cline c1, Cline c2) 
        { 
            return n = c1.get_length() * c2.get_length(); 
        } 
    } 

 
運行結果:

 
經驗積累
1.上面的程序還有一點點沒有完善,主要是派生類構造函數那一塊,因為涉及了Base ,說以學了Base 和This之間的區別之後再繼續完善。
2.感覺和C++大同小異。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved