面向对象(代码片段)

qq1312583369 qq1312583369     2022-12-10     329

关键词:

 

 1相关概念的理解

1.1面向过程、面向对象

面向过程与面向对象都是编程中,编写程序的一种思维方式。

面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程。(职员思想)

面向对象的程序设计方式,是遇到一件事时,思考“我该让谁来做”,然后那个“谁”就是对象,他要怎么做这件事是他自己的事,反正最后一群对象合力能把事就好就行了。(领导思想)

 

1.2面向对象思维方式的好处

面向对象思维方式是一种更符合人们思考习惯的思想

面向过程思维方式中更多的体现的是执行者(自己做事情),面向对象中更多的体现是指挥者(指挥对象做事情)。

面向对象思维方式将复杂的问题简单化。

 

2类与对象

2.1定义类

事物其实就是由特点(属性)和行为(功能)组成的。

通过计算机语言Java来描述这个事物,就是定义类,

定义类的格式:

public class 类名

//可编写0至n个属性

    数据类型 变量名1;

    数据类型 变量名2;

 

//可编写0至n个方法

修饰符 返回值类型 方法名(参数)

  执行语句;

  

Tips:自定义类中:有main方法,其他方法就要加static,没有main,就不用加。

例:

public class Car 
    String color;//颜色
    int tyre;//轮胎个数
     
    //功能:跑
    public void run()
        System.out.println("颜色为"+color+",轮胎个数为"+tyre+"的小汽车在跑");
    
public class Test 
    public static void main(String[] args) 
        Car c=new Car();
        c.color="红色";
        c.tyre=4;
        c.run();
    

技术图片

2.2成员变量和成员方法

类的真正意义就是在描述事物。属性和功能统称为事物中的成员。

事物的成员分为两种:成员属性和成员功能。

成员属性在代码中的体现就是成员变量

成员功能在代码中的体现就是成员方法

 

2.3类和对象的区别

类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体。 

举例:

类是模型

对象是实体

设计时,是先有实体,再抽象出模型。

实际生产时,是先有模型,再有实体。

 

实际编程时,也是如此。

 

2.4局部变量和成员变量区别

1)定义的位置不同

成员变量定义在类中

局部变量定义在方法中或块(大扩号)中

例:

public class Student 
    String name;  //成员变量
    int age; //成员变量
    String sex; //成员变量
     
    public void study(String name) //局部变量
        int book=0; //局部变量
        System.out.println("这个学生姓名为"+name+",年龄为"+age+",性别为"+sex); //这个name就成了局部变量,就近原则
        System.out.println("这个学生读了"+book+"本书");
    

2)在内存中的位置不同

成员变量存储在堆内存的对象中

局部变量存储在栈内存的方法中

3)生命周期不同

成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失

局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失

4)初始化不同

成员变量因为在堆内存中,所以有默认的初始化值

局部变量没有默认的初始化值,必须手动的给其赋值才可以使用

 

2.5基本类型和引用类型作为参数传递

例:

public class Test2 
    public static void main(String[] args) 
        int a=1;
        double b=2;
        method1(a,b);
        System.out.println(a);
        System.out.println(b);
    
    public static void method1(int a,double b)
        a=20;
        b=30;
    

技术图片

public class Test3 
    public static void main(String[] args) 
        Student s=new Student();
        s.name="同学1";
        s.age=38;
        s.sex="男";
        method1(s);
        s.study();
    
    public static void method1(Student s)
        s.name="同学2";
        s.age=18;
        s.sex="男";
    

技术图片

当引用变量作为参数传递时,这时其实是将引用变量空间中的内存地址(引用)复制了一份传递给了method1方法的s引用变量。这时会有两个引用同时指向堆中的同一个对象。当执行method1方法中的s.name="同学2"时,会根据s所持有的引用找到堆中的对象,并将其s属性的值改为同学2,method1方法弹栈。

由于是两个引用指向同一个对象,不管是哪一个引用改变了引用的所指向的对象的中的值,其他引用再次使用都是改变后的值。

 

面向对象概述(代码片段)

1.1面向对象思想1.1.1面向过程思想与面向对象思想A:什么是面向过程面向过程,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求。例如:吃煎饼果子利用面向过程的思... 查看详情

面向对象(代码片段)

结构化程序设计和面向对象程序设计的区别面向过程,以函数为中心吃(猪八戒,西瓜)面向对象,以对象为中心猪八戒.吃(西瓜)面向对象更接近自然语法。面向对象的基本特征(缺一不可)抽象封装继承多态JavaScript也使用... 查看详情

面向对象(代码片段)

一.函数式编程和面向对象的对比  面向过程:根据业务逻辑从上到下写垒代码  函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可  面向对象:对函数进行分类和封装,让开发“更快更好更强..... 查看详情

php面向对象(代码片段)

1.面向对象介绍     面向对象是一个编程思想。编程思想有面向过程和面向对象     面向过程:编程思路集中的是过程上     面向对象:编程思路集中在参与的对象2.面向对... 查看详情

go语言面向对象(代码片段)

面向对象基本概念面向对象思想面向对象(ObjectOriented,OO)是软件开发方法面向对象是一种对现实世界抽象的理解,是计算机编程技术发展到一定阶段后的产物ObjectOrientedProgramming-OOP——面向对象编程面向对象和面向过程区别面... 查看详情

面向对象简介(代码片段)

一、学习目标1.面向对象的技术语法2.面向对象的编程思想二、面向对象的概念OOP(Object-Programming,面向对象的编程)技术为编程人员敞开了一扇大门,使其编程的代码更简洁、更易于维护,并且具有更强的可重用性。三、OOP达到了... 查看详情

面向对象编程(代码片段)

面向对象编程文章目录面向对象编程两种编程方式类和对象的定义面向对象编程三步骤一、定义类二、造对象三、发消息案例静态方法、类方法面向对象解决实际问题魔术方法面向对象四大支柱继承多态对象之间的关系最终总结... 查看详情

python之面向对象(代码片段)

一、三大编程范式python是一门面向对象的编程语言。不同的编程样式有不同的风格,不同的风格有他不同的牛逼之处。三大编程范式:面向过程编程函数式编程面向对象编程二、面向对象设计与面向对象编程面向对象设计(Object... 查看详情

面向对象(oop)基本概念(代码片段)

面向对象编程--ObjectOrientedProgramming简称OOP目标了解面向对象基本概念0.1面向对象基本概念面向过程和面向对象,是两种不同的编程方式对比面向过程的特点,可以更好第了解什么是面向对象1.1过程和函数过程是早期的一个编程概... 查看详情

面向对象入门(代码片段)

  面向对象是软件开发方法。面向对象的概念和应用已经超越了程序设计和软件开发,电影《无间道》的拍摄就用了面向对象的思想。面向对象是一种对现实世界理解和抽象的方法。  那python中的面向对象是什么样的呢?什... 查看详情

javascriptjavascript面向对象(代码片段)

查看详情

phpmysqli面向对象(代码片段)

查看详情

初始面向对象(代码片段)

面向过程:一切以事务的发展流程为中心.面向对象:一切以对象为中心.一切皆为对象.具体的某一个事务就是对象打比方:大象进冰箱步骤:第一步,开门,第二步,装大象,第三步,关门面向对象:大象,你进冰箱.此时主语是大象.我操纵的... 查看详情

面向对象——面向对象进阶(代码片段)

一、isinstance与issubclass方法1、isinstance是用来判断对象是否是某个类  isinstance(obj,class)2、issubclass是用来判断一个类是否为另一个类的子类  issubclass(Bar,Foo)1classFoo:2pass345classBar(Foo):6pass789obj=Foo()10print(isinstance(obj,Foo) 查看详情

面向对象(代码片段)

面向对象标签(空格分隔):面向对象面向对象:类:任何事物归为一类,就是一系列相似特征与技能的结合体;强调:站在不同的角度得到的分类是不一样的;对象和类:在现实世界中:先有对象,后有总结出来的类在程序中... 查看详情

面向对象编程(上)(代码片段)

第四章面向对象编程(上)4.1面向对象(OOP)和面向过程(POP)4.2Java语言的基本元素:类和对象4.3对象的创建和使用4.1面向对象(OOP)和面向过程(POP)面向对象和面向过程二者都是一种思想,面向对象是相对于面向过程而... 查看详情

第一小节初识面向对象(代码片段)

阅读目录楔子面向过程vs面向对象初识面向对象  类的相关知识  对象的相关知识  对象之间的交互  类命名空间与对象、实例的命名空间  类的组合用法  初识面向对象小结面向对象的三大特性  继承  多态... 查看详情

面向过程与面向对象(代码片段)

一.面向过程与面向对象: 面向过程: 重过程:解决问题,考虑的是解决问题的流程 解决问题的思路清晰,但拓展性不强  面向对象: 重对象:解决问题,找到解决问题的对象 解决问题的思路可能不止... 查看详情