面向对象
面向对象概念:
面向对象:将现实生活中的事物,封装成对象,通过对象的实例化和调用,完成需求。
面向对象,关注点是对象的属性和方法,而忽略事物执行的顺序或过程。
面向过程:将现实生活中的事物,按照发生的顺序使用代码顺序执行。
面向过程,关注事物执行的顺序。
例如:把大象装进冰箱;
对象是人、大象、和冰箱
执行过程为:
人{
冰箱打开();
大象金冰箱();
冰箱关闭();
}
冰箱{
冰箱打开(){}
冰箱关闭(){}
}
大象{
大象进冰箱(){}
}
以上就是把人,大象,和冰箱划分为不同的类,在各自的类里面实现诸如冰箱门的开关或者是大象进冰箱的方法,而人要做的只是直接调用这些方法就可以完成自己的需求。
再比如:在学习面向对象编程思想之前,自己做饭的话是需要自己去手动一步一步做的,但是应用了面向对象编程思想之后,只需要找一个厨师直接给你做饭就好了。
面向对象的特征有:封装、继承、多态,抽象
在面向对象编程当中会用到类和对象,下面介绍一下个人理解:
类:是对象的抽象
对象:是类的实例化
// 类
public class Book{
// 属性
// 方法
}
对象:
public static void main(){
// 实例化对象
Book book = new Book();
// 给对象的属性赋值 book . 属性 = 值
// 调用对象的方法。 book . 方法();
}
在应用面向对象思想的过程中,应学会如何抽象,即从事物当中根据其外部特征和特点提取出事物的属性和方法
例如:宠物猫
可以从猫这个对象身上提取处固有属性有:名字,性别,年龄,品种,颜色等等
固有的方法比如:猫会喵喵叫,或者猫吃猫粮可以根据这些特征写出一个猫的专属类
例如:
public class Cat{
//定义猫的固有属性
public String name;
public String sex;
public int age;
public String color;
public void printInfo(){//打印猫信息
System.out.println("宠物名:"+name+"\t性别"+sex+"\t年龄"+age+"\t颜色"+color);
}
public void catEat(){//猫吃鱼方法
System.out.println("猫吃鱼");
}
}
public calss Test{
//在测试类中调用刚才定义的猫类
public static void main(String[] args){
//new出一个cat对象,这里写法是 类名 变量名 = new 类名();
Cat cat = new Cat();
//通过使用对象.属性来给自己定义的属性赋值
cat.name = "包子";
cat.age = 3;
cat.sex = "雌";
cat.color = "白";
//调用打印宠物信息方法
cat.printInfo();
//调用宠物吃饭方法
cat.catEat();
//调用方法的方式直接使用 对象.方法名即可调用
}
}
全局变量,局部变量
局部变量,作用域从定义位置开始,到代码块结束。
全局变量,定义在类中,方法外的变量叫做全局变量。全局变量所有方法均能够访问。
public class Demo {
// 全局变量
int b = 10;
public void test() {
//局部变量
int a = 10;
if(a>=10){
// 局部变量
int b = a+1;
int c = b+1;
System.out.println("小B的值是:"+b);
}
System.out.println(a);
// 局部变量,定义在方法中,在方法中有效
System.out.println(b);
// 引用的是全局变量
// System.out.println(c);// 错误的,超出了作用域的范围。
}
public void test1() {
// System.out.println(a);
}
public void test2() {
System.out.println(b);
}
public static void main(String[] args) {
Demo demo = new Demo();
demo.test();
}
}
本文深入解析面向对象编程的核心概念,对比面向过程编程,详细阐述类、对象、封装、继承、多态等特性,通过具体实例展示面向对象思维在解决实际问题中的应用。
916

被折叠的 条评论
为什么被折叠?



