zoukankan      html  css  js  c++  java
  • 抽象类

    //抽象类
    //    Visual Studio 允许定义抽象类.抽象类是为了派生类而定义接口的一个类.抽象类从本质上说是抽象的,
    //因为在抽象类基础上建立的所有类都提供了一定的方法和属性.您不能在抽象类中创建对象----只能利用
    //它们来派生新的类
    //   抽象类在c#中用abstract 关键字来声明.必须提供的方法与属性用abstract来表明.
    //     在vb.net中用MustInherit          ,                      MustOverride  .




    using System;



    namespace FlashCards
    {
        
    /// <summary>
        
    /// Shape 的摘要说明。
        
    /// </summary>

        public abstract class Shape //形状
        {
            
    public Shape()
            
    {
                
    //
                
    // TODO: 在此处添加构造函数逻辑
                
    //
            }

            
    public abstract float Top
            
    {
                
    get;
                
    set;
            }

            
    public abstract float Left
            
    {
                
    get;
                
    set;
            }

            
    public abstract float Area();
            
    public abstract float Perimeter();
            

        }


        
    //覆盖抽象类成员的每一个成员定义都需要 Overrides(vb.net) 或 override(c#)  关键字.
        public class CirCle:Shape
        
    {
            
    float fxCenter,fyCenter,fRadius;
            
    public CirCle()
            
    {
                fxCenter
    =0;
                fyCenter
    =0;
                fRadius
    =0;

            }


            
    public override float Top
            
    {
                
    get{return fxCenter-fRadius;} //fx
                set{fxCenter=value+fRadius;}

            }

            
    public override float Left
            
    {
                
    get{return fyCenter-fRadius;} //fy
                set{fyCenter=value+fRadius;}
            }


            
    public override float Area()
            
    {
                
    return (float)(2*System.Math.PI *Math.Pow((double)fRadius,2  ));
                
            }

            
    public override float Perimeter()
            
    {
                
    return 2*fRadius*(float)System.Math.PI; 
            }


            
    public float Radius
            
    {
                
    get{return fRadius;}
                
    set{fRadius=value;}
            }
     

            
    public virtual void Center(float x,float y)
            
    {
                fxCenter
    =x;
                fyCenter
    =y;
            }

        }


        

        




    }

  • 相关阅读:
    C#多线程之Parallel中 类似于for的continue,break的方法
    C#中静态类、静态方法和静态变量的简单说明
    C# 类属性封装、字段的详解
    BackgroundWorker 后台进程控制窗体label、richtextbook内容刷新
    asp.net 实现 tts
    System.Speech.Synthesis 添加暂停、继续功能
    微软TTS,Neospeech TTS 简单使用
    VS2015如何批量统改相同变量名
    VS2015时显示无法启动此程序 因为计算机中丢失ucrtbased.dll
    Windows环境下MinGW/gcc安装和环境配置
  • 原文地址:https://www.cnblogs.com/furenjun/p/318423.html
Copyright © 2011-2022 走看看