1、什么是面向对象
一种编程方法
一种思维方式
不是一种编程语言
2、如何学习面向对象
掌握一门面向对象语言的语法(C++、JAVA)
掌握面向对象的思维方式
熟悉面向对象设计原则
掌握面向对象设计模式
面向对象的最高目标是:消除应用程序中重复代码。
3、面对对象思维方式
首先确定谁来做,其次确定怎么做
首先考虑整体,其次考虑局部
首先考虑抽象,其实考虑具体
4、创建类的方法
class 类名
{
属性;
方法;
}
属性也叫成员变量,主要用于描述类的状态
方法也叫成员方法,主要用于描述类的行为(函数)
5、类的表示方法
6、类的定义方法
class person 类名 { int age; 成员变量 void shout();成员函数 { System.out.println("oh,my god!I am " + age); } }
7、生成对象的方法
格式:类名 对象名 = new 类名();
例如:Dog dog = new Dog();
对象的本体在堆内存,对象名在栈内存,他们之间是引用关系,所以对象也叫引用数据类型。
1)、Dog d = new Dog();
创建一个Dog的引用,名为d
2)、Dog d = new Dog();
创建一个Dog的对象
3)、Dog d = new Dog();
将创建的Dog对象赋给这个引用
8、类和对象的关系
类是抽象的,不代表具体事物,是一系列具有共同特征的事物,如狗这个类,它有颜色、大小、品种等属性,有跳、叫等方法。
对象是指具体的事物,例如这只狗红色、大、牧羊犬等属性,跳、叫等方法,那只狗 xxx xxx 等等。
9、对象的使用方法
使用对象调用变量和函数
1、对象.变量
2、对象.函数()
参考Dog小程序
class Dog { String name; int age; String color; void jump() { System.out.println("Jump"); } }
class Test { public static void main(String[] args) { Dog d = new Dog(); d.name = "旺财"; d.age = 2; d.color = "黑色" ; d.jump(); System.out.println("名字是:"+d.name); } }10、生成多个对象
Dog d1= new Dog();
Dog d2 = new Dog();
每个对象都是独立的。
11、匿名对象的使用
new Dog().jump();
可以不定义对象的引用名称,而直接调用这个对象的方法(函数)。但这是一次性的。
12、函数的重载
1).两个或者多个函数在同一个类当中
2).函数名相同
3).参数列表不同
使用时,根据传递的参数不同,决定使用哪个函数
13、构造函数
功能:
给对象进行初始化,上面的Dog d = new Dog();就是构造函数
特点:
函数与类名相同
不用定义返回值类型,也没有具体返回值
使用:
new 构造函数()
注意:如果类里没有自定义构造函数,编译器会自动加上一个无参数无方法的构造函数,如果有了,就不会自动创建。