zoukankan      html  css  js  c++  java
  • C#继承练习2

    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace HELLO
    {
        class 矩形
        {
            static void Main(string[] args)
            {
                Example ex = new Example();//实例化
                Example ex1 = new Example(1, 2);//实例化
                Example2 example2 = new Example2(4, 6);
                Console.WriteLine("面积为{0}", example2.area());
                // 创建一个 List<Shape> 对象,并向该对象添加 Circle和 Rectangle
                var shape = new List<Shape> { new Circle(), new Rectangle() };
                // 使用 foreach 循环对该列表的派生类进行循环访问,并对其中的每个 Shape 对象调用 Draw 方法
                foreach (var item in shape)
                {
                    item.X = 4;
                    item.Y = 5;
                    item.Draw();
                    item.Area();
                }
            }
        }
        class Example
        {
            public Example(int a, int b)
            {
                Console.WriteLine("您这个是有参构造函数,分别输入了{0}和{1}", a, b);
            }
            public Example() { Console.WriteLine("您这个是无参构造函数"); }
        }
        abstract class Example1
        {
            abstract public int area();
        }
        class Example2 : Example1
        {
            private int a, b;
            public Example2(int a, int b)
            { this.a = a; this.b = b; }
            public override int area()
            {
                return a * b;
            }
        }
        public class Shape//父类
        {
            internal int x,y;
            public int X { get { return x; } set { x = value; } }
            public int Y { get { return y; } set { y = value; } }
            public virtual void Draw() { Console.WriteLine("我要画图形"); }
            public virtual void Area() { int area = x + y; Console.WriteLine("面积是{0}", area); }
        }
        public class Circle : Shape//派生类1
        {
            public override void Draw()//重写方法1
            {
                Console.WriteLine("我要画一个圆");
                base.Draw();
            }
            public override void Area()//重写方法2
            {
                int area = 3 * x * y;
                Console.WriteLine("面积是{0}", area);
            }
        }
        public class Rectangle : Shape//派生类2
        {
            public override void Draw()
            {
                Console.WriteLine("我要画一个矩形");
                base.Draw();
            }
            public override void Area()
            {
                int area = x * y;
                Console.WriteLine("面积是{0}", area);
            }
        }
    }

  • 相关阅读:
    UIView动画设置
    窗口与视图的基本概念
    OC基本框架之-字典类型
    将博客搬至CSDN
    objective-c中的深、浅拷贝
    基础算法之二分法查找
    C语言中格式字符指定输出项的数据类型和输出格式总结
    JavaScript学习笔记(9)——JavaScript语法之流程控制
    JavaScript学习笔记(8)——JavaScript语法之运算符
    JavaScript学习笔记(7)——JavaScript语法之函数
  • 原文地址:https://www.cnblogs.com/BruceKing/p/12167269.html
Copyright © 2011-2022 走看看