Java面向对象开发学习笔记(一)

Java面向对象开发

阿里云课程链接

共105课时

课时1 面向对象简介

面向对象是一种程序设计方法,但是并不是所有开发者都认同面向对象,因为很多开发者认为面向对象过于复杂,所以更多人愿意使用函数式编程。

面向对象的前身是面向过程,如果要想笼统地解释这两种开发模型的区别,最好的例子:面向过程是解决问题,而面向对象是模块化设计。对于现在的程序开发,更多情况下就像是汽车组装一样,不同的工厂生产不同的配件。将所有的零件组装在一起,就可以形成一辆汽车,并且当某一个零件坏掉的时候,还可以进行配装。

在面向对象里面实际上还有许多的特点,归结起来有如下三类:

  • 封装性:内部操作对外部而言不可见;
  • 继承性:在上一辈基础上继续发展;
  • 多态性:这是一个最为重要的环节,利用多态性才可以得到良好的设计。

那么在进行面向对象开发的时候也有三个阶段:OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程)。所有的程序开发原则都离不开实际生活,如果从程序开发角度讲,面向对象最大的特征:可以进行生活的抽象。

课时2 类与对象(认识类与对象)

类与对象是整个面向对象设计的核心所在,也是所有概念的基础。类本身属于引用数据类型,所以类的使用上会牵扯到内存的分配问题。

认识类与对象

人们互相可以听懂对方说话,是因为我们具备共同的特征:我们都是中国人,母语都是汉语,而且身体正常。那么具备这些共同特征的人有很多,就自然是一个群体,而群体的特征就是整个类的定义概念。所谓的类描述的就是共性特征。

任何时候只是依靠共性的特征是无法进行精准描述的,那么就需要一些个性化的特点,才可以描述一个个独立的事物。这样就可以推断出:所谓的类指的就是一个共性的概念,而对象指的是一个具体的可以使用的事物。

那么很明显,在实际的开发过程中,一定要首先产生类,然后才可以产生对象,对象的所有操作行为都一定在类中进行了完整定义。类中没有定义的功能,对象一定无法使用。

类中的组成:方法(操作的行为)、属性(变量,描述每一个对象的具体特点)。

课时3 类与对象(类与对象的定义和使用)

如果在程序之中要进行类的定义,可以使用class关键字完成,定义的语法如下:

class name{
    //所有程序都要求以“{}”作为分界符
    property1 ;
    property2 ;
    function(){}
}

此时的方法不再由主类直接调用,而使通过对象进行调用。

范例:定义类

class Person{
    //定义一个类,类名称每个单词首字母要求大写
    String name; //表示人的姓名
    int age; //表示人的年龄
    public void info(){
        System.out.println("name = " + name + "、age = " + age) ;
    }
}

在这个类中,只是定义了两个属性和一个方法,特别需要注意的是,类中可以定义的属性和方法数量是没有限制的。而且在编写的过程中,每一个方法中的代码尽量不要特别长。

类定义完成之后是不能直接使用的,如果想要使用类那么必须产生对象,而对象的定义分为以下两种语法形式:

  • 声明并实例化对象:类名称 对象名称 = new 类名称();
  • 分步进行对象实例化:
    • 声明对象:类名称 对象名称 = null ;
    • 实例化对象:对象名称 = new 类名称() ;

引用数据类型的最大特征在于对内存的分配操作,只要出现关键字new,就只有一个解释:开辟新内存(内存是不可能无限开辟的,所以这个时候所谓的性能调优调整的就是内存问题)。

范例:声明并实例化对象

public class TestDemo{
    public static void main(String args[]){
        //类名称 对象名称 = new 类名称 ;
        Person per = new person() ; //此时就表示实例化了一个per对象
        per.name = "张三" ; //设置对象中的属性
        per.age = 18 ; //设置对象中的属性
        per.info() ; //调用类中的方法
    }
}

所有对象只有实例化之后才可以真正使用,而对象的使用都是围绕着类进行的,此时有两种形式:

  • 调用类中的属性:对象.属性 = 内容;
  • 调用类中的方法:对象.方法();

以上就实现了一个最基本的类的定义以及对象的使用操作形式。

posted @ 2018-03-04 22:44  笆篱公社  阅读(216)  评论(0编辑  收藏  举报