面向对象编程: OOP, Object-oriented Programming
面向对象设计: OOD, Object-oriented Design
面向对象分析:OOA,Object-Oriented Analysis
Java语言是面向对象的编程语言.C语言是面向过程的编程语言.
什么是类(class关键字修饰)现在我们可以在JAVA程序中表示一个数字, 表示一个字, 表示"是"或"否", ...
问: 如何表示一只狗? 如何表示一个商品? 如何表示一个订单?
int num; // 只能表示一个数字
// 第一只狗
String dogName = "xiaohei";
int dogAge = 2;
String dogColor = "black";
double dogPrice = 500;
// 第二只狗
String dog2Name = "xiaobai";
int dog2Age = 1;
String dog2Color = "white";
double dog2Price = 600;
Dog dog1;
dog1.Name = "xiaohei";
dog1.Age = 2;
dog1.Color = "black";
dog1.Price = 500;
Dog dog2;
dog2.Name = "xiaobai";
dog2.Age = 1;
dog2.Color = "white";
dog2.Price = 600;
结论: 这里的Dog就是类, 类是类型, 类别, 是模板。如果你是初学者,那么你就只需要关注是否有class关键字修饰。
什么是对象(object)一个类别中可能含有很多的个体, 这样的个体称为对象。
上述代码中的dog1, dog2就是2个不同的对象,但它们属于同一类型Dog。
在面向对象的思想中,万物皆对象. 把对象分门别"类",就产生了类的概念。在具体软件设计中, 对象因关注而产生。相同类型/类别的对象被我们抽取成一个类。
类和对象的关系简单描述:类是对象的类型,是模板。对象是类的实例,模板长什么样,对象就长什么样。
类的属性(attribute, field)对象的特征称为属性, 这些属性我们定义到类中.
属性一般是名词.
类的属性
类的方法(operation, method)对象的行为/动作/功能称为方法, 很像C中的函数, 方法其实是对一个过程(代码)的封装, 同样, 方法定义到类中。
封装对象的属性其实是对数据的封装, 对象看成一个包裹, 属性的值看成包裹里的物件。
对象的方法其实是对处理过程的封装, 因为方法中包含过程代码, 使用时通过方法名称来调用即可。
结论: 把对象的属性和方法一起定义到类中,这个行为就是封装。
使用类的语法声明变量: 类名 变量名;
赋值: 变量名 = new 类名();
也可以: 类名 变量名 = new 类名();
这里的变量也称为对象。
这个过程称为"创建对象"或"实例化"。
访问对象的属性: 对象名。属性名
调用对象的方法: 对象名。方法名()
toString方法Java中预定义了Object类, 它是所有类的祖先, 因为"万物皆对象"。
Object类定义了toString()方法,用来将对象转换成字符串形式, 这样便于在控制台上打印一个对象的信息, 有利于开发人员进行调试。。。
如果希望自定义toString(), 如下示例即可: