什么是面向对象
面向对象(Object Oriented)是java的一种编程思想,对象是把事物的具体特点抽象出来组合成的事物,举个例子:
张三有姓名,性别,身份证,年龄等等……同样李四也有姓名,性别,身份证,年龄……,那么我们就可以把人这个个体都有的具体特点抽出来组合成人这个对象,人这个对象姓名,性别,身份证,年龄等属性,每个个体都有这些特点,只在属性值上存在差别,比如的身份证都不同
面向对象编程(Object Oriented Programming)是java程序设计中常用的一种开发思想,简单地讲就是将事物的具体特点抽象出来,在这些特点为属性封装在类中,以类为模板来组织代码,这种思维特性就叫面向对象
举个例子:
public class people {
private String name;
private int sex;
private int idcard;
private int age;
public people(String name, int sex, int idcard, int age) {
super();
this.name = name;
this.sex = sex;
this.idcard = idcard;
this.age = age;
}
public void sleep() {
System.out.println("睡觉!");
}
public void eat() {
System.out.println("吃饭");
}
public void run() {
System.out.println("跑步");
}
}
这是个人的对象,每个人都有姓名,性别,身份证,年龄,都拥有吃饭,睡觉,跑步等功能.
面向对象的五个特性
1)万物皆对象 将j对象视为奇特的变量,它可以储存数据,除此之外,你还可以要求它在自身上执行操作.理论上来讲,你可以抽象待解决的问题的任何概念化为构件(狗,建筑物,服务等),将其表示为程序中的对象
2)程序是对象的集合 它们通过发送消息来告知彼此所要做的,要请求一个对象,就必须对该对象发送一条消息,更具体地来讲,可以把消息想象为对某个特定对象的方法的请求
3)每个对象都有由自己的由其他的对象所构成的存储 换句话说,可以通过创建包含现有对象的包的方式来创建新的类型的对象.因此,可以在程序设计中构建复杂的体系,同时化繁为简,将其复杂性隐藏在其简单性背后
4)每个对象都拥有其类型,按照通用的说法,”每个对象都是某个类的一个实例” 这里的类就是类型的同义词,每个类最重要的的区别于其他类的特性就是”可以发送什么消息给它”,可以简单地理解这个类型拥有什么的功能
5)某一特定的所有对象都可以接受同样的消息 比如圆形对象同时也是几何形对象,所有圆形对象能够接受发送给集合图形的消息,这就意味着可以编写与集合图形交互并且自动处理所有与几何图形性质相关的事物的代码.这种课替代性是oop最强有力的概念之一.