6月28日课堂笔记(c#)

静态与静态

1,静态成员有static修饰符修饰

2,得到静态的字段   类名.字段名

3,public static int num;此时num值为0

4,静态构造方法必须无参数

静态类

   静态类不能被继承,不能被实例化

  静态成员是公有的

何时使用静态

   在实例中使用静态

   在程序中反复使用的类,可以写成静态的

工厂

   工厂的特征就是根据需求生产(对象)

1生产的这个东西是干嘛用的

2由于生产的东西不同,需要统一调用的问题

     生产就是为了计算,就是为了调用计算的方法

    考虑返回值都应该有计算的方法

   父类,规定了计算的方法,可以实现多态

接口

  接口的存在就是为了实现多态

   接口的定义

    interface  接口名

    接口成员

接口成员   :方法  属性  索引   事件声明

方法:只写返回类型  方法名(参数列表)

abstract  class 类名:接口名

    和抽象类的使用一样,必须实现这个接口中的方法,与正常方法一样写

    public  abstract string 方法名()

  {

     方法体

  }

保证实现接口的类中有接口定义的方法即可

如果这个类是抽象类,那么可以将接口中的方法实现,也可以将其作为一个抽象的方法

接口实现多态的前提     继承和方法名相同

接口和抽象类的区别,接口是多继承,抽象类是单继承

接口中属性的定义      属性的本质就是方法

接口中的属性具有只读和只写的区分

interfacce IProperity

{

   int num

     {

      set;

      get;

     }

}

=-------------------------------------

class Base

{

}

interface IF

{

}

class Sub:Base,IF

{

}

Base b1=new Sub();

IF f1=b1 as IF;如果b1可以转化为F1,就转化,并将转化后的结果赋值给左边。如果转化不了,就得到一个null。

显示实现接口

接口可以实现多继承,一个成员可以继承多个接口

interface If1

{

    func();

}

interface If2

{

 func();

}

class Myclass:If1,If2

{

    void If1.func()

    {

     Console.WriteLine();

    }

   void If2.func()

  {

   Console.WriteLine();

  }

}

显示实现接口,语法
 返回类型  接口名.方法名
 {
 方法体
 }
可以知道显示实现接口方法没有修饰访问福
  显示实现接口只能通过接口进行调用

Mycalss m1=new Myclass();
IF1 f1=m1;
f1.func();
Mycalss m2=new Myclass();
IF2 f2=m2;
f2.func();

=====================

值类型和引用类型 class MyPoint

{

public int x;

public int y;

}

MAin {

   MyPoint m1=new MyPoint();

   m1.x=100;  

  m1.Y=200;  

  Mypoint m2=m1;

   m1.x=1;  

  m1.y=2;

}

-------------------------

struct MyPoint

{

public int x; 

public int y;

}

MAin {

   MyPoint m1=new MyPoint();

   m1.x=100;  

  m1.Y=200;  

  Mypoint m2=m1;  

  m1.x=1;  

  m1.y=2;

}

值类型来源于 valueType 引用类型来源于object

装箱与拆箱

int num=10;

object o=num;  装箱

int num1=(int)o;  拆箱

引用传递与值传递

ref   使用前必须要赋值,在方法中可以不为其赋值 out   在方法中赋值

将任意类型数据转换成字符串  tostring

Parse   TryParse(很强大)

try catch 

try catch finally表示无论如何在结束异常结构时都会执行其代码,销毁资源链接

try finally(用法比较特殊) 注:finally无论怎样都是会执行的,即使try过程中没有异常,finally中不能有return

原文地址:https://www.cnblogs.com/349932030yin/p/2568903.html