• 《面向对象》第一讲


    一、为什么需要面向对象?
    生活中所有的东西都是一个个的对象,为了描述他们方便,我们就把它们使用面向对象的方式来解决。

    二、什么是面向对象编程?
    根据具本的实际生活(业务),设计相对应的类或对象出来,按照生活中的流程或逻辑来操作程序中的类或对象,这样更直观,更方便。

    三、面向对象的三大特性:封装、继承、多态。
    **********************************************************
    一、类的基本概念
    (一)类的基本了解。
    类:自己定义的一种复杂的类型。
    类一般包括两大部分:字段-成员变量(名词或形容词),方法-成员函数(动词)
    类的关键词:class
    (二).类的定义:
    class 类名
    {
    成员变量的定义;
    ...
    成员函数的定义;
    ...
    }
    在类的成员(成员变量,成员函数)前面经常会加访问修饰符(public private protected)
    public - 公有的。例如:。。。
    private - 私有的。例如:。。。


    (三).类的使用:
    Dog d = new Dog(); //实例化
    d.Name = "旺财";
    d.Owner = "张三";
    d.Run();

    d - 对象的引用。
    new Dog() - 真正的狗的对象。

    (四)附加:
    C#中的变量的类型:
    1、值类型:
    int float double char bool struct datetime
    2、引用类型:
    string 数组 自定义的类。
    模型图:堆空间与堆空间。
    1.用模型图解释:
    A a1 = new A();
    A a2 = new A();
    Console.WriteLine(a1== a2); //结果为什么是false?


    2.用模型解释:上面狗的例子,为什么最后d.Run()会显示成李家的狗?


    3.用模型解释:int a = 100; int b= 100; Console.WriteLine(a == b);结果为什么是true?

    类的封装:不要随便把成员变量设成public,一般需要设成private或protected,通成员方法或成员属性来实现对成员变量的合法访问。

    二、类的成员——属性

    属性:对成员变量进行访问的端口。
    (一)属性的定义:
    public 类型 属性名
    {
    get
    {
    }
    set
    {
    关键词value.代表是要赋的值。
    }
    }

    (二)属性的使用:
    直接通过属性名进行使用。
    Console.WriteLine(r.Height); - 调用属性的get部门
    r.Height = 180; -调用属性的set部分。

    三、类的方法——成员函数——方法重载
    方法的名子相同,参数不同(类型不同,个数不同)——形成了方法的重载。
    重载方法与返回类型无关。
    好处:
    1.减少方法名的定义,不用记太多的方法名了。
    2.减少代码重复,更大限度的重用,代码结构更合理。

    多个重载方法被调用的时候,首先找方法名,然后再根据参数找对应的重载方法。

  • 相关阅读:
    C++概念性总结
    友元函数
    C++指针概念
    Linux下多线程(clone()线程)
    Qt5模块化详细总结
    C++有符号与无符号之间的转换问题
    使用C++test工具做Qt代码静态分析
    QT函数带有外部链接但没有在头文件中声明(QT noreturn属性添加)
    Linux之Docker手动创建Docker容器
    我在思考一个很变态的社会趋向
  • 原文地址:https://www.cnblogs.com/thq1218/p/4463945.html
Copyright © 2020-2023  润新知