.Net学习 第3季 C#面向对象 接口

.Net 视频学习第3季 C#面向对象

面向对象 接口

C++中一个类可以继承于多个类,但C#中不允许。因此如果想实现类似操作,需要接口,关键字interface

public class Person
{
}

public interface Iable
{
    void test();
}

public class Student:Person,Iable
{
    void test()
    {
        Console.WriteLine("test");
    }
}

接口名通常以I开头able结尾。

接口中的方法可以有返回值,但是接口中的成员不能被访问修饰符修饰,默认为public(和类中的成员默认不同,类中成员默认是private),接口成员不允许定义(抽象类的抽象方法也不能定义)---不能有方法体。

属性只有自动属性。(只写属性,没有字段,字段自动生成,失去保护字段作用,因为自动属性的get和set没有方法体)

时间: 2024-10-13 02:43:01

.Net学习 第3季 C#面向对象 接口的相关文章

.Net学习 第3季 C#面向对象 多态

.Net 视频学习第2季 C#面向对象 面向对象 多态 概念:让一个(父类)对象表现出多种(子类)类型的特性:三种方法:虚方法/抽象类/接口 方法一:虚方法 将父类方法标记为虚方法,使用关键字virtual在返回值类型前,这个方法可以被子类重写一遍(在子类方法返回值类型前使用关键字override) 没有使用虚方法下: public class Person { private string _name; public string Name { get{return _name;} set{_

.Net学习 第3季 C#面向对象 访问修饰符

.Net 视频学习第3季 C#面向对象 面向对象 访问修饰符 C#五种访问修饰符 1)可以修饰类的访问修饰符只有两个:public,internal(默认) internal:只可以在当前程序集(先理解为项目)中访问 public:公共的 项目A访问项目B中的public类,首先要在项目A的引用中添加项目B,然后再项目A的文件中添加using 项目B该类的命名空间. 在同一个程序集当中,public和internal的访问权限一样. 2)修饰类的成员的访问修饰符:public,private,p

.Net学习 第2季 C#面向对象

.Net 视频学习第2季 C#面向对象 面向对象初级 类是一个模板,不占内存,对象是根据模板生成的具象,占内存. 字段field:数据 方法method:函数 属性property:保护字段,对字段的赋值进行限定(将这部分封装在类中,外界不用理会如何实现)属性的本质就是两个方法 get() / set() 外部(甚至类内部的方法)通过属性对字段进行赋值/读取,get()/set()内部会进行限定,字段永远用private,属性才是public的. namespace Proj { class P

.Net学习 第2季05 C#面向对象 Path类 File类

.Net 视频学习第2季 C#面向对象 面向对象 Path类 File类 Path类,命名空间IO,静态类 Path.GetFileName(str),返回文件路径中的文件名,返回值为string Path.GetFileNameWithoutExtension(str),返回文件路径中的文件名,不带扩展名,返回值为string Path.GetExtension(str),返回文件路径中的文件的扩展名,返回值为string Path.GetDirectoryName(str),返回文件所在的全

.Net学习 第2季05 C#面向对象 ArrayList

.Net 视频学习第2季 C#面向对象 面向对象 ArrayList 数组:类型单一(除非是父类数组,子类对象作元素---注意元素还是被认为是父类对象!),长度固定 int[] a = new int[10]; 集合:命名空间System.Collections ArrayList list = new ArrayList(); 往集合里边添加数据 list.Add(1); 对同一个集合,可以往里边添加任意类型的数据.(注意Add()方法的输入参数是object类,是所有类型的基类) Array

.Net学习 第2季02 C#面向对象继承1

.Net 视频学习第2季 C#面向对象 面向对象继承1 查找类的命名空间快捷键:alt+shift+F10 项目A中有类X,要在项目B中使用X的话,首先在项目B的引用当中添加项目A,然后在项目B的代码中添加using A;(假设项目A类X的命名空间就是A)或者在使用X时采用A.X的格式. 记录运行时间 Stopwatch sw = new Stopwatch(); sw.Start(); // 代码 sw.Stop(); Console.WriteLine(sw.Elapsed); Start(

.Net学习 第2季04 C#面向对象 里氏转换 随机数 protected

.Net 视频学习第2季 C#面向对象 面向对象 里氏转换 随机数 protected 里氏转换:子类对象可以赋值给父类对象:如果父类中装的是子类对象,可以将此父类对象强制转换成子类对象. 子类对象可以调用父类成员,但父类对象永远只能调用自己的成员. is或者as均表示类型转换,is返回true/false,as返回转换后对象/null class Person { public string Name {get;set;} } class Student:Person { } class Te

java学习笔记之面向对象接口

面向对象接口总结 接口理解: 接口是功能的集合,接口的定义也使用.java文件,编译之后也产生.class文件.类的定义使用class  ,而接口的定义使用interface: 定义格式: 1 public interface 接口名{ 2 //常量定义格式:public static final 常量名(一般是大写) 3 成员变量->常量 4 //抽象方法定义:public abstract 返回值类型 方法名(参数列表) 接口中的方法全部是抽象方法 5 成员方法->抽象方法 6 } 7 /

面向对象--接口的实际应用--制定标准

面向对象--接口的实际应用--制定标准 博客分类: Java SE Flash工作 Java代码   interface USB { public void start(); public void stop(); } class Computer { public static void pugin(USB usb){              //此处只是接口对象的引用变量而已,相当于形参,接口不能恋情new创建实例对象,但能声明对象引用变量. usb.start(); System.out