Java 是面向对象的高级编程语言,类和对象是 Java 程序的构成核心
而c++是面向过程的一种高级语言
面向对象
概念:说简单点,就是让对象自己调用自己的功能
对象:模型生成的具体物件,对象一定是一个具体的东西
类:对某类事物的普遍一致性特征、功能的抽象、描述和封装,是构造对象的模版或蓝图,用 Java 编写的代码都会在某些类的内部。类之间主要有:依赖、聚合、继承等关系。
对象::使用 new 关键字或反射技术创建的某个类的实例。同一个类的所有对象,都具有相似的数据(比如人的年龄、性别)和行为(比如人的吃饭、睡觉),但是每个对象都保存着自己独特的状态,对象状态会随着程序的运行而发生改变,需要注意状态的变化必须通过调用方法来改变,这就是封装的基本原则。
说简单点,就是类的具体个体:比如,人就可以看做一个类,然后人会跑,这个跑的行为或者属性,就是对象,或者说人的胳膊,腿,等都可以看做类的对象
类和对象的关系
就是一个类延伸出一个属性或者行为的个体,比如说动物,这就可以看做一个类,然后狗,是动物中的一种,就有一类具体到个体,这个狗就是动物的对象,也是类的对象
一下通过代码示例一下,面向对象的思想
package com.Damo;
/**
* 面向对象
* @author lenovo
*
*/
public class Damo {
//方法入口
public static void main(String[] args) {
//理论上有一个animal,然后针的把它搞出来
//咖妃
Animal cafei=new Animal();
//咖妃很嗨
cafei.shake();
}
}
//动物
class Animal{
//组件
//概念上动物模型中有个头
//new:需要确确实实地安上一个头,new创建
Head head=new Head();
//Body body:理论上应该有一个身体
//new Body=实际上真的创建了一个身体
Body body=new Body();
//行为
//综合行为:动起来,甩甩甩
void shake() {
//调用已经写好的行为是最好的
shakeHand();
shakeBody();
}
//头的行为
//private:隐藏 对外来说,东西没了 私有化
private void shakeHand() {
System.out.println("头被摇了");
//谁使用谁就用点点点
head.mind.mix();
}
//身体的行为
//private:隐藏 对外来说,东西没了 私有化
private void shakeBody() {
System.out.println("身体被摇了");
//身体的左手甩起来
body.leftHand.wacking();
//身体的左脚甩起来
body.leftFoot.wacking();
}
}
//头
class Head{
//头脑中拥有想法
Mind mind=new Mind();
}
//想法--抽象的概念
class Mind{
//搅拌
void mix() {
System.out.println("思想出了问题");
}
}
//身体
class Body{
//左手
Hand leftHand=new Hand();
//女朋友
Hand rightHand;
//左脚
Foot leftFoot=new Foot();
//右脚
Foot rightFoot;
//甩起来
void wacking() {
leftHand.wacking();
leftFoot.wacking();
}
}
//手
class Hand{
void wacking() {
System.out.println("甩手");
}
}
//脚
class Foot{
void wacking() {
System.out.println("甩腿");
}
}