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() ; //调用类中的方法
}
}
所有对象只有实例化之后才可以真正使用,而对象的使用都是围绕着类进行的,此时有两种形式:
- 调用类中的属性:对象.属性 = 内容;
- 调用类中的方法:对象.方法();
以上就实现了一个最基本的类的定义以及对象的使用操作形式。