博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类,接口,抽象类,结构
阅读量:6260 次
发布时间:2019-06-22

本文共 2570 字,大约阅读时间需要 8 分钟。

 

一、:

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

 

转载于:https://www.cnblogs.com/gbb44/p/10639084.html

你可能感兴趣的文章
javascript 正则命名分组
查看>>
以太坊开发实战学习-solidity语法 (三)
查看>>
Windows Theano GPU 版配置
查看>>
vue2.0学习笔记(九):vue项目实战--持续更新(1)
查看>>
Vue.js入门教程-过滤器
查看>>
Python之使用Pandas库实现MySQL数据库的读写
查看>>
基于scikit-learn机器学习库的分类预测
查看>>
svg与视频结合的镂空效果实践总结
查看>>
Scikit中的特征选择,XGboost进行回归预测,模型优化的实战
查看>>
Sklearn入门介绍
查看>>
Android广告图片轮播,支持无限循环和设置轮播样式、切换时间等
查看>>
screenX/Y,clientX/Y,offsetX/Y和pageX/Y之间有什么区别?
查看>>
webpack4.0优化那些事儿
查看>>
数据结构与算法(位运算) --javascript语言描述
查看>>
数据结构与算法(回溯法) --javascript语言描述
查看>>
百度地图开发实例番外篇--实用方法(持续更新)
查看>>
“大数据应用场景”之隔壁老王(连载一)
查看>>
k均值聚类算法(k-means)
查看>>
修改springboot的端口来启动项目
查看>>
MaxCompute SQL原理解析及性能调优
查看>>