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);
        }
    }
}

  

 

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