zoukankan      html  css  js  c++  java
  • 类,接口,抽象类,结构

    一、:

    1. 对现实生活中的事物的行为,特征的描述,分类.比如:人类,人具有姓名,国籍,年龄,性别特征,吃饭,睡觉的行为.特征可以理解为属性,特征理解为方法.
    2. 定义类的关键字:Class
    3. 定义类的规范:访问修饰符   Class  类名 {类的成员(方法,属性,字段,事件)}
    4. 访问修饰符:

    Public:公共修饰符,无访问限制.

    Private:私有修饰符,在类的内部可以访问.

    Internal: 内置修饰符,在同一项目里可以访问.

    Protected:受保护的修饰符,类的内部和继承该类的子类可以访问.

    Protected Internal:内部保护访问,限于本项目内或子类访问.

    1. 类的访问修饰符默认是public.类的成员默认修饰符private.
    2. 类可以定位static静态类,但类的成员都要定义为static静态的.
    3. 实例化类:类名 对象名 =new 类名();

    代码:

     class A

        {

            public string Name { get; set; }

            public bool Sex { get; set; }

            public string Age { get; set; }

            public string Country { get; set; }

            public string Eat(string Name)

            {

                switch (strCountry)

                {

                    case "小明":

                        return "在吃饭";

                    case "小红":

                        return "爱吃中餐";

                    default:return "在睡觉";

                }

            }

        }

    二,接口

    接口关键字:Interface

    1、一个接口就相当于一个抽象类,但是它不能包含任何实现方法。
    2、接口的每种方法都必须在派生类中实现。
    3、接口有时候可以看成是类的模具,它指明一个类该提供哪些内容。
    4、接口主体只限于方法、索引器、属性的声明。
    5、接口中不能包含字段、构造函数和常量等。
    6、接口成员是隐式公开的,如果对其显式指定访问级别,就会出现编译器错误。
    7、在接口中不能实现任何方法,属性或者索引器。
    8、在指定方法时,只需给出返回类型、名称和参数列表,然后以分号结束。
    9、实现接口的语法与实现继承一样,都用冒号“:”

     class Program
        {
            static void Main(string[] args)
            {
                XiaoHong xiaoHong = new XiaoHong();
                XiaoMing xiaoMing = new XiaoMing();
                xiaoHong.YouDian();
                xiaoMing.YouDian();
                Console.ReadKey();
            }
        }
    
        interface IPerson
        {
            void YouDian();
        }
        class XiaoHong : IPerson
        {
            public void YouDian()
            {
                Console.WriteLine("我会跳舞");
            }
        }
        class XiaoMing : IPerson
        {
            public void YouDian()
            {
                Console.WriteLine("我学习好");
            }
        }

    三,抽象类
    什么是抽象类:不能被实例化的类称为抽象类,抽象类是派生类的基类。
    关键字:abstract

    1、一个抽象类可以同时包含抽象方法和非抽象方法。
    2、抽象方法只在派生类中真正实现,这表明抽象方法只存放函数原型,不涉及主体代码,
    3、派生自抽象类的类需要实现其基类的抽象方法,才能实例化对象。
    4、使用override关键子可在派生类中实现抽象方法,经override声明重写的方法称为重写基类方法,其签名必须与override方法的签名相同。

     class Program
        {
            static void Main(string[] args)
            {
                XiaoHong xiaoHong = new XiaoHong();
                XiaoMing xiaoMing = new XiaoMing();
                xiaoHong.YouDian();
                xiaoMing.YouDian();
                Console.ReadKey();
            }
        }
    
        abstract class IPerson
        {
          public  abstract void YouDian();
        }
        class XiaoHong : IPerson
        {
            public override void YouDian()
            {
                Console.WriteLine("我会跳舞");
            }
        }
        class XiaoMing : IPerson
        {
            public override void YouDian()
            {
                Console.WriteLine("我学习好");
            }
        }

    四,结构

     

    结构是使用关键字struct定义的,是值类型数据结构。它用来表示一个记录。如果你想要知道你自己的总成绩,那么你就要知道你每门的成绩,就可以以下面的形式来定义Score结构。

    复制代码
     //结构
    struct Score
    {
        //结构不能初始化值
        public int score_Id;
        public string course;
        public float grade;        
    }
  • 相关阅读:
    docker安装nginx
    docker部署SpringBoot项目
    Springboot项目mysql迁移达梦数据库
    导入maven仓库中没有的jar包
    使用static binaries离线安装docker
    国产化项目Debian系Linux离线安装docker
    Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock
    http文件上传方式
    解决 Ubuntu 下 ssh 服务器中文显示乱码
    make[9]: *** No rule to make target `radiomodule.dd', needed by `libradiomodule'. Stop.
  • 原文地址:https://www.cnblogs.com/gbb44/p/10639084.html
Copyright © 2011-2022 走看看