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

        }


        

        




    }

  • 相关阅读:
    关于计算机改名无法连接TFS的问题
    配置 SQL Server 2008 Email 发送以及 Job 的 Notification通知功能
    javascript原型链中 this 的指向
    JavaScript中的构造函数 renturn
    Javascript中valueOf与toString区别
    JavaScript 中this与Dom中的注意
    SQL优化 CREATE STATISTICS
    Maven根据不同的环境打包不同的配置
    Maven build标签
    解决Maven报Plugin execution not covered by lifecycle configuration问题
  • 原文地址:https://www.cnblogs.com/furenjun/p/318423.html
Copyright © 2011-2022 走看看