zoukankan      html  css  js  c++  java
  • 面向对象基础

    ---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ----------------------

    面向对象概念:

    面向对象不是取代面向过程的。

    面向对象的三个特点:封装,多态,继承

    面向对象和面向过程是互补的

    类:

    类是抽象的,对象是具体的

    类的定义:类名 取的名字=new 类名();

    使用:取的名字.类中的方法();

    调用本方法的字段和方法的时候前面要加this,表示在本类中的调用。

    字段:和类相关的变量,字段就是类的状态,字段在类中用priavite修饰

    成员访问级别:

    字段、方法、属性都可以叫做类的成员,他们都需要定义访问级别。访问级别的用处在于控制成员在哪些地方可以被访问,这样达到面向对象中“封装”的目的。

    Private只能由类中的成员访问,如果别的类想访问这个字段,可以定义一个方法来访问。

    属性:

    惯用法:属性开头字母大写,字段开头小写

    只能用set或者只用get就可以定义只读或者只写属性(只写的不常见)

    可以为set,get设置访问级别

    字段和属性的区别是什么?属性看似字段、不是字段,可以进行非法值控制,可以设置只读

    定义:public 类型 名字

    {

    Get{return this.字段};//取值

    Set{this.字段=value};//赋值

    }

    方法:

    值类型与引用类型:int datetime bool char都是值类型,赋值的时候是传递拷贝

    普通的对象则是引用对象,赋值的时候是传递引用

    为什么要这么分,因为一个对象可能占很大内存,为了防止内存占用过多所以传递引用

    构造函数:

    就是用来创建对象的特殊函数,函数名和类名一样,没有返回值值,连void都不用

    意义:创建对象的同时给它初始化

    构造函数可以有参数,new对象的时候传递函数参数即可

    构造函数可以重载,也就是有多个参数不同的构造函数

    如果不指定构造函数,则类有一个默认的无参构造函数,如果指定了构造函数,则不再有默认的无参构造函数,如果需要无参构造函数,则需要自己来写。

    继承:父类、基类中的方法可以给子类重用,子类不但可以用自己的方法,还可以使用父类中的方法

    Class 子类:父类

    所有类都继承于object类

    类型转换:(转换的类型)对象

    接口:

    多态:

    泛型:

    异常:

    Try catch   Exception ex异常也是对象

    Exception类主要属性:message,stacktrace

    Ex.excepetio错误的消息      ex.stackrace异常堆栈

    发生异常后程序默认就退出了,后续代码不会被执行。Catch以后的代码则会继续执行

    抛出自己的异常:throw new Exception(“错误的内容”);

    常量:

    Static:const常量。常量名要大写。一定不会变化的值才声明为常量。

    全局变量。Static类变量。

    不用new就能用的方法:static方法,static方法其实就是普通函数

    在static方法中可以调用其他static成员、但是不能调用非static成员。在非Static方法中可以调用static成员。

    静态类,不能被new的类就是静态类。静态类一般用来实现一些函数库。***Helper

    命名空间:namespace,用于解决类重名问题,可以看做“类的文件夹”。

    在代码中使用其他类的时候需要using类所在的Namespace.System.Collections.ArrayList,快速引入的方法,右键-》解析。

    如果代码和被使用的类在一个namespace则不需要using.

    可以修改默认的namespace,因此不要认为在相同文件夹下就不用using,不再相同文件夹下就需要using.

    引用方法:

    命名空间.类名 创建对象=new命名空间.类名();

    索引器

    C#中提供了按照索引器进行访问的方法,定义索引器的方式:string this[int index]{get {return “”;}set{}},string为索引器的类型,[]中是参数列表。进行索引器写操作就是调用set代码块,在set内部使用value得到用户设置的值;进行读操作就是执行get代码块

    索引器参数可以不止一个,类型也不限于int,几乎可以是任意类型。

    Class person

    {

    Private string FirstName=”大毛”;

    Private string SecondName=”二毛”;

    Public string this[int index]

    {

    Set

    {

    if(index==1)

    {FirstName=value;}

    Else if(index==2)

    {SecondName=value;}

    }

    Get

    {

    If(index==1)

    {return FirstName;}

    Else If(index==2)

    {return SecondName;}

    }

    }

    }

    调用:

    Person p1=new Person();

    P1[1]=”damao”;

    Console.write(p1[1]);

    ---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ----------------------

  • 相关阅读:
    Ubuntu 16.04
    每天一道LeetCode--389. Find the Difference
    每天一道LeetCode--371. Sum of Two Integers
    Ubuntu 16.04 小飞机启动失败
    每天一道LeetCode--344. Reverse String
    leetcode1458 Max Dot Product of Two Subsequences
    CF1313C2 Skyscrapers (hard version)
    CF1295C Obtain The String
    CF1251D Salary Changing
    CF1286A Garland
  • 原文地址:https://www.cnblogs.com/qwsdxz/p/3163680.html
Copyright © 2011-2022 走看看