美文网首页
2020-01-08day8面向对象

2020-01-08day8面向对象

作者: keeeeeenon | 来源:发表于2020-01-08 09:33 被阅读0次

    1.面向过程(C)和面向对象(C++、Java、GO、python)
    把大象装进冰箱
    1.把冰箱门打开
    2.把大象装进冰箱
    3.把冰箱门关上

    面向过程----过程----动作
        1.打开(冰箱门)
        2.装进(冰箱, 大象)
        3.关闭(冰箱门)
    面向对象----对象----实体
        1.冰箱.开门();
        2.冰箱.装进(大象);
        3.冰箱.关门();
    

    2.类和对象
    类....是定义
    对象....真正存在的个体
    3.类的成员
    属性----成员变量
    方法----成员方法----动作
    4.如何定义一个类
    [修饰符] class 类名 {
    属性
    方法
    }
    属性:
    [修饰符] 数据类型 属性名 = 初始值;
    [修饰符] 数据类型 属性名;
    修饰符
    |---private:私有的
    方法: 和上一章方法定义相同,不要加public static
    5.如何创建对象
    new 类名()
    6.访问对象的成员
    对象名.属性
    对象名.方法
    7.封装性---隐藏该隐藏的,暴露该暴露的
    1).属性设置成private的
    2).为private属性提供set和get方法,
    8.电话本管理系统-----无法持久化(数组,集合ArrayList)-----如何持久化?文件--->数据库MySQL...
    需求:电话本信息进行添加、删除、修改、查询的操作
    数据如何存储: 一维数组 数据类型[] 数组名;
    |----数据类型和电话本每一条信息的数据类型一致----->自定义类型----->设计类TelephoneItem
    |----TelephoneItem[] items = new TelephoneItem[100];

    9.toString()方法
    System.out.println(对象名)
    System.out.println(对象名.toString()) 继承
    10.对象的内存分析
    栈------
    |-----基本数据类型变量
    |-----引用(指针)
    堆-----
    |-----对象
    |-----数组
    11.构造方法----在创建对象的时候使用 new Car()
    1)特点
    |---方法名和类名相同
    |---构造方法定义时没有返回值类型
    2)如果一个类中没有定义构造方法,那么这个类中有一个空参的默认的构造方法;
    3)在类中可以定义带参数的构造方法;
    4)如果在类中定义了带参数的构造方法,那么类中默认的无参的构造方法就会被覆盖,如果希望使用默认的无参的构造方法,那么需要在类中显式定义;
    5)类中定义的多个构造方法以重载的方式存在;
    12.this
    1)表示当前对象;
    2)表示当前类的构造方法(默认的无参的构造方法,带参数的构造方法) this()
    13.static----静态的 静态的方法 静态的成员变量
    1)可以修饰属性和方法;
    2)被static修饰的属性被所有的对象共享;
    3)被static修饰的成员优先于对象存在,随着类的加载而存在,和该类的对象是否创建没有任何关系;
    4)如何访问被static修饰的成员
    |----对象.成员;
    |----类.成员;
    5)static修饰的属性和方法属于类,不属于对象,static修饰的变量被改,那么所有的对象都能观察到这种修改。
    14.继承----extends-----扩展----父类不能满足要求,对其进行增强----子类
    1)子类继承了父类,就继承了父类的方法和属性;
    2)子类除了具有父类的属性和方法,还拥有自己的属性和方法;
    3)super----父类
    |----表示父类对象
    |----表示父类的构造方法(默认的无参的构造方法,带参数的构造方法) super()
    4)Java中只支持单继承,一个类只能有一个直接父类, 可以有多个间接父类;
    5)写继承不只是为了复用性。而是要有关系才去做继承。
    15.重写----方法之间的关系
    1)发生在父类和子类当中;
    2)返回值类型、方法名、参数列表相同。
    16.final----关键字----最终的
    1)修饰类,被修饰的类无法被继承
    2)修饰方法,被修饰的方法不能被重写
    3)修饰变量,被修饰的变量不能被修改----常量
    17.设计模式---单例设计模式
    1)一个类的对象的实例只有一个
    2)懒汉式和饿汉式
    |---懒汉式---非线程安全的
    |---饿汉式---线程安全的
    18.多态----事物的多种状态
    1)重载和重写
    2)子类对象的多态性---->子类对象赋值给父类引用---->父类引用指向子类对象----->向上转型
    Sutdent s = new Student()
    Person p = new Student();
    3)向下转型
    instanceof
    19.抽象类----抽象方法 抽象----不具体
    1)需要有这个方法,但是不知道这个方法如何去具体实现,那么这样的方法就可以设置成为抽象方法;
    2)抽象方法使用abstract进行修饰,没有方法体,以";"结尾;
    3)如果一个类中有抽象方法,那么这个类一定是抽象类; 加abstract;
    4)抽象类只能被继承(extends),不能通过抽象类创建对象;
    5)如果一个类继承了抽象类,那么这个类要实现抽象类中所有的抽象方法;
    6)如果子类没有实现抽象类中所有的抽象方法,那么子类也要被定义成抽象方法。
    20.接口----USB接口----规范
    1)如果一个抽象类中所有的方法都是抽象方法,那么这个类就可以被定义成接口;
    2)接口---interface;
    3)接口中所有的抽象方法默认使用public abstract修饰,但是public abstract可以不写;
    4)接口只能被类实现(implements);
    5)一个类可以实现多个接口。
    交通工具
    21.包-----文件夹
    1)对代码分类;
    2)声明包----package;
    3)使用包----import;
    4)常用包
    java.lang
    java.awt---java.swing
    java.util---工具 集合 日期 时间
    java.io
    java.net---网络 C/S OSI TCP/IP 四层/五层
    java.sql---数据库 JDBC

    System String Math C# Qt(C++) 
    

    豆瓣读书

    C程序设计语言 丹尼斯.里奇 hello world
    C和指针
    C专家编程
    C陷阱与缺陷

    相关文章

      网友评论

          本文标题:2020-01-08day8面向对象

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