• 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

  • 相关阅读:
    ArrayAdapter
    给ListView设置emptyView
    ListView中item定位
    clipChildren和clipToPadding
    【热文】 为什么很多硅谷工程师偏爱 OS X,而不是 Linux 或 Windows?
    【热文】 为什么程序员痴迷于猫?
    欢迎使用 MWeb
    Android动画学习(二)——Tween Animation
    将博客搬至CSDN
    Android动画学习(一)——Android动画系统框架简介
  • 原文地址:https://www.cnblogs.com/349932030yin/p/2568903.html
Copyright © 2020-2023  润新知