zoukankan      html  css  js  c++  java
  • csharp 面向对象编程

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Shape
    {
        /**
         * 抽象形状类
         */
        public abstract class Shape
        {
            private int edge;
            //构造函数 
            public Shape(int edge)
            {
                this.edge = edge;
            }
            //抽象类实现的方法,子类可以重用
            public int GetEdge()
            {
                return this.edge;
            }
            //抽象方法,子类必须重写,并在声明上加上override
            public abstract int CalcArea();
        }
    
        /**
         * 三角形类,继承自形状类
         */
        public class Triangle : Shape
        {
            private int bottom;
            private int height;
            //构造函数,构造的同时调用父类指定构造器
            public Triangle(int bottom, int height)
                : base(3)
            {
                this.bottom = bottom;
                this.height = height;
            }
            //重写同名方法
            public override int CalcArea()
            {
                return this.bottom * this.height / 2;
            }
        }
    
        /**
         * 矩形类,继承自形状类
         */
        public class Rectangle : Shape
        {
            private int bottom;
            private int height;
            //构造函数,构造的同时调用父类指定构造器
            public Rectangle(int bottom, int height)
                : base(4)
            {
                this.bottom = bottom;
                this.height = height;
            }
            //重写同名方法
            public override int CalcArea()
            {
                return this.bottom * this.height;
            }
        }
    
        class Program
        {
            static void Main(string[] args)
            {
                //测试,可用父类映射子类
                Shape triangle = new Triangle(4, 5);
                Console.WriteLine(triangle.GetEdge());
                Console.WriteLine(triangle.CalcArea());
    
                Shape rectangle = new Rectangle(4, 5);
                Console.WriteLine(rectangle.GetEdge());
                Console.WriteLine(rectangle.CalcArea());
            }
        }
    }
  • 相关阅读:
    Flink架构、原理与部署测试
    EntityFramework 简单入个门
    Gdb远程调试Linux内核遇到的Bug
    掌握jQuery插件开发
    两分钟实现安全完备的登录模块
    SQL Server 手把手教你使用profile进行性能监控
    Paxos 实现日志复制同步
    作用域是什么
    Consul 服务注册与服务发现
    C语言之预处理
  • 原文地址:https://www.cnblogs.com/zfc2201/p/3561106.html
Copyright © 2011-2022 走看看