美文网首页程序员
C#之面向对象基础篇

C#之面向对象基础篇

作者: 赤色黎明_9970 | 来源:发表于2018-11-22 22:31 被阅读3次

    面向对象编程:简称OOP

    面试题:什么是面向对象?

    答:封装,继承,多态即为面向对象

    面相对象的方法:

    面向对象的分析 (OOA)   面向对象的设计 (OOD)

    面向对象的程序设计 (OOP)

    面向对象技术主要围绕以下几个概念:

    对象,抽象数据类型,类,继承性,多态性。

    面向对象VS面向过程 :相辅相成

    面向过程:先有算法,后有结构

    面向对象:先有结构,后有算法

    面向对象的优点:

    可重用性(类) 可扩展性(继承) 可管理性(接口)

    面向对象的基本机制:抽象 ,封装, 继承和派生 ,多态性。

    类:一种复杂的数据类型

    类之重要:类是程序的基本单元

    类的定义语法:

    [访问修饰符][修饰符]class类名[:<基类>][:<接口列表>]

    使用类的方式:和传统类型一致(声明->赋值->使用)

    对象的实例化:对象的生成比较复杂成为实例化 

    构造方法为对象赋给了默认值

    new<类名>()

    对象和类的关系:

    1.类是对象的模板

    2.一个类可以创建多个对象

    3.对象是类一个特定的个体

    4.对象有独立的内存空间,不会互相影响

    对象的构造过程

    1.为对象开辟空间;

    2.调用构造方法初始化;

    3.返回对象的引用。

    构造方法=构造函数=构造器(ctor)

    构造方法:类特殊的成员方法

     (1)声明:

    构造方法与类同名,且没有返回值类型。

    构造可以无参也可带参。

    (2)使用:

    必须使用new关键字调用

    (3)作用:

    创建类的实例并初始化对象。

    初始化的缺省值都是确定的:

    布尔变量的初值为:false

    整数变量的初值为:0

    浮点数变量的初值为:0.0

    字符变量的初值为:'\0'

    引用(复合)变量的初值为:null

    注意事项:

    系统为每个类自动提供一个默认的无参的构造方法;

    若自定义构造方法,无参构造方法不再提供!

    追加:成员方法中的局部变量必须显式手动进行初始化

    析构方法:

    声明:~类名()

    使用:

    程序中的对象有垃圾回收(garbagecollector)负责释放,回收之前会自动调用对象对应类的析构函数,做释放前的准备工作(关闭占用资源等)。

    注意事项:

    1.一个类只有一个析构方法,没有返回值类型。

    2.除非特殊需要,通常被省略。

    This的用法:

    成员方法中的隐参,是方法所在类的一个引用变量。

    声明:每个成员方法自带 无需声明。

    作用:

    1.方法被调用时,立即指向调用该方法的对象。

    2.区分同名的局部变量和成员变量。

    3.调用本类的其他的构造方法,拷贝构造中使用较多。

    拷贝构造:

    (1)定义:用已有的对象来产生新对象的拷贝方法。

    (2)作用:批量无差异产生对象 之后进行少量差异化赋值。

    有趣的示例:

    public class Person

    {

          int age;

          public Person Birthday()

          {

              this.age++;

              return this;

          }

          public void ShowAge()

          {

              Console.WriteLine("age = {0}",this.age);

          }

    }

    public static void Main()

    {

        Person person = new Person();

        person.Birthday().Birthday().Birthday().ShowAge();

    }

    访问修饰符:字段、方法都可以叫做类的成员Member,它们都需要定义访问级别。

    访问级别的用处在于控制成员在哪些地方可以被访问。

    访问修饰符:public/private/internal/protected

    private : 私有成员, 在类的内部才可以访问。

    public : 公共成员,完全公开,没有访问限制。

    protected : 保护成员,该类内部和继承类中可以访问。

    internal: 当前程序集内可以访问。程序集:exe\dll中。

    internal protected:internal 和 protected的并集, 同一个程序集中的所有类,以及所有程序集中的子类。

    修饰符可以修饰的内容:

    类(class)和结构(struct)只能用public, internal来修饰,

    成员(属性、方法)能用以上5种来修饰。

    默认没有访问修饰符的默认规则:

    类中字段和方法默认的访yi问修饰符是private。

    类(class)和结构(struct)默认的访问修饰符是internal。

    注:程序集(Assembly)-一般指一个Exe可执行文件或类库(DLL文件)

    跨项目调用:只能访问public !!!

    相关文章

      网友评论

        本文标题:C#之面向对象基础篇

        本文链接:https://www.haomeiwen.com/subject/phbhqqtx.html