对象
.面向对象具有三大特征:封装性、继承性和多态性,而面向过程没有继承性和多态性,并且面向过程的封装只是封装功能,而面向对象可以封装数据和功能。所以面向对象优势更明显。
面向对象和面向过程的总结
1、都是解决问题的思维方式,都是代码组织的方式。
2、解决简单问题可以使用面向过程
3、解决复杂问题:宏观上使用面向对象把握,微观处理上仍然是面向过程。
什么是对象
1.对象说白了也是一种数据结构(对数据的管理模式),将数据和数据的行为放到了一起。
2.在内存上,对象就是一个内存块,存放了相关的数据集合
3.对象的本质就一种数据的组织方式
类和对象
1.对象是具体的事物;类是对对象的抽象;
2.类可以看成一类对象的模板,对象可以看成该类的一个具体实例。
3.类是用于描述同一类型的对象的一个抽象概念,类中定义了这一类对象所应具有的共同的属性、方法。
下面我们定义一个学生类SxtStu:
public class SxtStu {
//属性(成员变量)
int id;
String sname;
int age;
//方法
void study(){
System.out.println("我正在学习!");
}
//构造方法
SxtStu(){
}
}
属性
属性用于定义该类或该类对象包含的数据或者说静态特征。属性作用范围是整个类体,在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。
方法
方法用于定义该类或该类实例的行为特征和功能实现。方法是类和对象行为特征的抽象。方法很类似于面向过程中的函数。面向过程中,函数是最基本单位,整个程序由一个个函数调用组成。面向对象中,整个程序的基本单位是类,方法是从属于类和对象的。
练习:
class Computer{
String brand;//品牌
}
public class est {
int id;
String name;
int age;
Computer comp;
void study() {
System.out.println("我正在学习!使用的电脑," + comp.brand);
}
est() {
}
public static void main(String[] args) {
est stu1 = new est();
stu1.name = "伍兹";
Computer comp1 = new Computer();
comp1.brand = "lenovo";
stu1.comp = comp1;
stu1.study();
}
}
运行截图: