第十一课

89 阅读2分钟

namespace test1
{

    // 创建子类
    class Student:preson
    {
        public Student(string name1, int num1) : base(name1) //给父类的析构函数赋值
        {
            num = num1;
        }
        public int num;
        public string name1 = "小明";

        public void play()
        {
            name =base.name; // base 可以帮助我们父类的方法啊和属性
            Console.WriteLine(name);
        } 

       
    }



    // 创建父类
    public class preson
    {
        // 构造函数
        public preson(string name1  )
        {
             name=name1;
        }
        // 字段
        public string num;
        public string name="小黑";
        // 方法
        public void show()
        {
            Console.WriteLine("i 'm  "+name);
        }
    }
    class Programe3
    {
        static void Main(string[] args)
        {
            // 创建父类实例 
            preson preson1;
            preson1 = new preson("xiaohei");
            preson1.show();
            //创建子类
            Student sut1;
            sut1 = new Student("xiaohei", 100);
            sut1.play();
            sut1.show();
        }
    }
}*/

 // 面向对象_抽象类
 
```/*using System;

namespace test1
{

    //怪物抽象类
    abstract class Monster
    {
        // 抽象方法 
        abstract public void attack1();
        //字段
        private string  food = "jirou";
        protected string  food2= "niurou";

        // 方法
        public void getNun()
        {
            Console.WriteLine("老盆友");
        }
    }
    // 小小廉颇类
    class LianPo : Monster
    {
        public override void attack1()
        {
            Console.WriteLine("暴力冲击");
            Console.WriteLine(food2);
        }
    }
   //public访问的最高权限,允许在同个项目或不同的项目中被访问
   //private 只允许在类或结构中被访问
   //internal只允许在同个项目中被访问
   //protected只允许在同一个类或结构或者此类的派生类中被访问

    class Programe13
    {
        static void Main(string[] args)
        {
         //Monster monster =new Monster();  抽象类无法生成实例,只能被继承
         LianPo lianpo =new LianPo();
         lianpo.attack1();
         lianpo.getNun();

        }
    }
}*/


//  静态类和非静态类
```/*using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace test1
{
    ////创建一个静态类静态类中只允许有静态成员(加了static修饰符的)和实例成员(非静态成员),
    public static class Fruit
    {
        public static int num;
        public static void Show()
        {
            Console.WriteLine("我是静态方法");
        }
    }

    // /创建一个非静态类非静态类可以有静态成员或者实例成员
    public class Water
    {
        // 构造方法
        public Water(int id )
        {
           this.id = id;
        }

        public readonly int id;  // 可以在构造函数中赋值

        public static int num=1;
        public int num2=2;

        public void Show()
        {
            Console.WriteLine("我是非静态的方法");
        }

        //创建静态方法 
        public static void drink()
        {
            Console.WriteLine(num);
         //   Console.WriteLine(num2); 静态方法只能使用静态成员的方法
            Console.WriteLine("干一杯");
        }
    }
    //(简答题)创建类MyMath,计算圆的周长、面积和对应球的体积。
    //1.创建类MyMath类,包含常量PI;静态方法周长,静态方法面积,非静态方法体积
    //。2.输入半径,输出周长,面积和体积

    class MyMath
    {
        //构造
*//*        public MyMath(double PI)
        {
            this.PI = PI;
        }*//*
        //字段
        public static Double PI=3.14;
        public Double R;
        //方法
        public static void zhouchang(double R)
        {
            double zc;
            zc = 2 * PI * R;
            Console.WriteLine("周长" + zc);
        }

        public static void mianji(double R)
        {
            double mj;
            mj = PI * R * R;
            Console.WriteLine("面积" + mj);
        }
        public static void tiji(double R)
        {
            Double tj;
            tj = PI * R * R;
            Console.WriteLine("体积是" + tj * 3 / 4);
        }
    }

    internal class 第十一课_静态类和费静态类
    {
        static void Main(string[] args)
        {
          //Fruit apple = new Fruit(); 静态类无法创造对象 
            Fruit.Show(); // 静态方法可以直接用类名.上方法名

            Water.drink(); //非静态类的静态方法也可以直接 (类名.方法名)
            Water yibao  =new Water(12345);
            yibao.Show();

            Console.WriteLine(yibao.id);
            //  yibao.id = 12345; readonly 只允许读不允许更改

            MyMath.tiji(1);
        }
    }
}
*/