zoukankan      html  css  js  c++  java
  • 关于在C#中对抽象类的理解

         先说一下自己对类的理解吧。类就是指将一系列具有一些共同特性的事物归纳起来,按照不同的特性分为不同的类。比如在现实世界中人是一类,动物是一类。植物 又是一类。但他们都是生命这一类的派生类。他们都继承了生命类的一些特性。但他们各自又有一些不同的属性。在计算机世界中也有这样的类。类这一特性在面向 对象的语言中就有很好的体现。

         个人理解C#中的抽象类是将某些类都具有的一些特性收集起来。然后再用这个抽象类来定义一些子类。当然这些子类可以自己再扩充一些私有的属性和方法。比如 正方形和长方形他们都具有的属性是面积,周长等属性。但是他们又有一些不同的属性和方法,比如长方形有长和宽。正方形只有一个边长。他们各自的面积和周长 的计算方法也不一样。下面就举例来说明。上代码。。。

    using System;
    namespace ab_cl
    {
        abstract class shape//定义一个抽象类( 要使用关键字abstract,不同于普通类的定义)
        {
            double area; //定义一个成员(面积)
        }
        class a:shape//定义一个长方形的类
        {
          private double length;//长方形的私有属性长
          private double width;//长方形的私有属性宽
            public a(double len, double wid)//定义一个带参的构造函数。主要用于长,宽的赋值
            {
                length = len;
                width = wid;
            }
            public double area()//用于计算长方形的面积
            {
                return length * width;
            }
            public double zhouchang()//用于计算长方形的周长
            {
                return (length + width) * 2;
            }
        }
        class b : shape//定义一个正方形的类
        {
          private double width;//定义正方形的私有属性边长
            public b(double wid)//定义一个带参的构造函数。主要用于边长的赋值
            {
                width = wid;
            }
            public double area()//计算正方形的面积
            {
                return width*width;
            }
            public double zhouchang()//用于计算正方形的周长
            {
                return width * 4;
            }
        }
        class c
        {
            static void Main()//入口函数
            {
                a t = new a(2.5, 1.2);//将长方形这个类实例化为对象
                b t1 = new b(2.5);//将正方形这个类实例化为对象
                Console.WriteLine("C#中抽象类的应用:");
                Console.WriteLine("长方形的面积是:{0}", t.area());
                Console.WriteLine("长方形的周长是:{0}", t.zhouchang());
                Console.WriteLine("正方形的面积是:{0}",t1.area());
                Console.WriteLine("正方形的周长是:{0}", t1.zhouchang());
                Console.ReadKey();
            }
        }
    }

  • 相关阅读:
    解决 WordPress 后台加载非常缓慢/打不开问题
    PHP 数组函数 内部指针
    date picker with jquery
    PHP is_file() 函数
    redis 应用场景-转载
    mvc 伪静态 *html IIS 部署 404 错误
    记录7: office 2016 Mac不能使用的解决过程
    send_keys results in Expected 【object Undefined】undefined to be a string解决方法:更新selenium+geckodriver+firefox
    记录1-更换mac pro内存,硬盘及恢复系统
    记录2-在mac上安装ubuntu 16.04 LTS
  • 原文地址:https://www.cnblogs.com/ZERO-TAO/p/5452909.html
Copyright © 2011-2022 走看看