C#入門學習筆記(三):類——面向對象編程

前言:

  C#屬於面嚮對象語言,所謂面向對象就是把相關的數據和方法組織爲一個整體來看待,從更高的層次來進行系統建模,更貼近事物的自然運行模式。

 

正文:

1,C#語言的三層基本結構:

通常我們在打開VS工程的時候,會出現如下界面:

大括號代表不同的層級,其中namespace叫做命名空間,class叫做類,main叫做函數或者方法。你可以理解爲namespace爲一所大房子,class是裏面的冰箱、彩電、洗衣機或者小板凳;而方法就是各類傢俱所具有的功能,比如說冰箱能製冷,洗衣機可以洗衣服。通常意義上,這三層基本結構能適用於大部分工作場合。

2,新建一個基本類

如上圖所示,新建了一個橢圓類,類中聲明瞭屬性和方法。但目前方法裏面啥都沒有,所以需要我們補齊方法:

這裏需要指出的是,通常在我們工作中,要遵循以下規則:

1,屬性名小寫,方法名首字母大寫
2,儘量不要起無意義的名字,比如說abcd這種
3,時刻記得寫註釋

而要調用這個類,就需要返回我們主函數中,通常指的的是Main函數,新建這個類:

  static void Main(string[] args)
        {
            Circle _myC = new Circle();
        }

之後給_myC賦值,爲了方便操作,我們使用輸入函數:

最後調用方法:

 //調用方法
            _myC.Area();
            _myC.Perimeter();

主函數全部截屏爲:

然後我們可以運行測試,代碼部分在習題1的答案中。

 

練習題:

1,定義一個Circle(棚圓)的類,其數據成員是榆圓外切矩形的左上角和右下角兩點的座標,定義計算面積和周長的成員方法,然後調用主程序驗證。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


/// <summary>
/// 1.定義一個Circle(棚圓)的類,其數據成員是榆圓外切矩形的左上角和右下角兩點
/// 的座標,定義計算面積和周長的成員方法,然後調用主程序驗證。
/// </summary>
namespace testProject
{
    class Program
    {
        static void Main(string[] args)
        {
            Circle _myC = new Circle();
            //屬於屬性值
            Console.WriteLine("左上角的x座標爲:");
            _myC.leftUp[0] = float.Parse(Console.ReadLine());
            Console.WriteLine("左上角的y座標爲:");
            _myC.leftUp[1] = float.Parse(Console.ReadLine());
            Console.WriteLine("右下角的x座標爲:");
            _myC.rightDown[0] = float.Parse(Console.ReadLine());
            Console.WriteLine("右下角的y座標爲:");
            _myC.rightDown[1] = float.Parse(Console.ReadLine());
            //調用方法
            _myC.Area();
            _myC.Perimeter();
 
            Console.ReadLine();
        }
    }

    //橢圓類
    public class Circle
    {
        //左上角
        public float[] leftUp = new float[2];
        //右下角
        public float[] rightDown = new float[2];

        //計算面積方法
        public void Area()
        {
            //橢圓面積公式:S=π(圓周率)×a×b,其中a、b分別是橢圓的長半軸,短半軸的長
            float _a = rightDown[0] - leftUp[0];//x值相減
            float _b = leftUp[1]- rightDown[1];//y值相減
            float _area = (float)(_a * _b * Math.PI);
            _area = Math.Abs(_area);
            Console.WriteLine("面積爲" + _area);
        }

        //計算周長的方法
        public void Perimeter()
        {
            //橢圓周長公式:L=2πb+4(a-b)
            float _a = rightDown[0] - leftUp[0];//x值相減
            float _b = leftUp[1] - rightDown[1];//y值相減

            //如果是瘦高型的橢圓,即_a<_b,則需要交換_a、_b
            if (_a < _b)
            {
                float _min = _a;//中間變量
                _a = _b;
                _b = _min;
            }

            float _perimeter = (float)(2 * Math.PI * _b + 4*(_a - _b));

            Console.WriteLine("周長爲" + _perimeter);
        }
    }
}

  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章