首页 > 其他分享 >面向对象

面向对象

时间:2023-04-11 13:46:47浏览次数:28  
标签:name person 对象 Person 面向对象 public

面向过程&面向对象

面向过程思想

步骤清晰简单,第一步做什么,第二步做什么.....
面对过程适合处理一些较为简单的问题。

面向对象思想

物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。
面向对象适合处理复杂的问题,适合处理需要多人协作的问题。

对于描述复杂的事物,为了从宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理。

什么是面向对象

面向对象编程(Object-Oriented Programming, OOP)
面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。

抽象

三大特性:
封装
继承
多态

从认识论角度考虑是先有对象后有类。对象,是具体的事物。类,是抽象的,是对对象的抽象
从代码运行角度考虑是先有类后有对象。类是对象的模板。

回顾方法及加深

方法的定义

修饰符
返回类型
break:和return的区别:break 跳出switch,结束循环 ,return:结束方法返回一个结果。
方法名:见名知意
参数列表(参数类型,参数名)...
异常抛出

方法的调用

静态方法:static 可以直接引用 和类一起加载
非静态方法:需要实例化
形参和实参
值传递和引用传递

//值传递
public static void main(String[] args){
int a = 1;
System.out.print1n(a); //1
Demo.change(a);
System.out.println(a); //1
}
//返回值为空
public static void change(int a){
a = 10;
}
//引用传递:对象,本质还是值传递
public class Demoe5 {
	public static void main(String[]args) {
	Person person = new Person( );
	System.out.println(person.name); //null
	Demo05.change(person);
	System.out.println(person.name);//123
	public static void change(Perosn perosn)i
	//person是一个对象:指向的---> Person person = new Penson();这是一个具体的人,可以改变属性:!
	person.name ="123";
//定义了一个Person类,有一个属性: name
class Person{
String name; //nuLL
}

this关键字

类与对象的关系

类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物.
动物、植物、手机、电脑.....
Person类、Pet类、Car类等,这些类都是用来描述/定义某一类具体的事物应该具备的特点和行为

对象是抽象概念的具体实例
张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例。能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念.

创建与初始化对象

使用new关键字创建对象

使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用。

构造器

类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:
1.必须和类的名字相同
2.必须没有返回类型,也不能写void
作用:
1.使用new关键字,本质是在调用构造器
2.初始化对象的值
idea alt +insert 创建构造器

///实例化初始值,无参构造
public Person(){

}
///有参构造,一旦定义了有参构造,如果想使用无参构造,就必须显示的定义一个无参的构造
public Person(String name){
	this.name = name;
}

标签:name,person,对象,Person,面向对象,public
From: https://www.cnblogs.com/guanzhu-eoe-miao/p/17305930.html

相关文章

  • 面向对象 程序分析 友元函数
    什么是友元函数?友元函数(friendfunction)是C++中一个特殊的函数类型。它不是类的成员函数,但它可以访问类的私有(private)和保护(protected)成员。友元函数提供了一种突破类封装的机制,允许在类之外的代码访问类的私有和保护成员。当你想要让某个函数访问一个类的私有和保护成员时,可以......
  • 10-面向对象综合训练综合练习
    练习一:文字版格斗游戏需求:​ 格斗游戏,每个游戏角色的姓名,血量,都不相同,在选定人物的时候(new对象的时候),这些信息就应该被确定下来。举例:​ 程序运行之后结果为:​ 姓名为:乔峰 血量为:100​ 姓名为:鸠摩智 血量为:100​ 乔峰举起拳头打了鸠摩智一下,造成了XX点伤害,鸠摩智还剩......
  • 面向对象 之 原型继承
    搞清楚constructor构造器、prototype构造原型、实例对象三者关系constructor就是构造函数的名字,prototype是原型对象,每个构造函数都必须有一个原型对象;构造函数要被继承的方法在这里存放才不会浪费堆区空间;构造函数里面的this,无论在构造函数里,还是在原型对象里都得指向实......
  • Java面向对象多态
    多态概述Java多态是指同一种类型的对象,在不同的情况下有着不同的状态和行为。它是基于继承、重写和向上转型等特性实现的,多态是面向对象编程的三大特征之一,其他两个分别是封装和继承。Java多态包括以下三种方式方法重写(Override)子类可以对从父类继承的方法进行重写,以便根据子类的......
  • 面向对象思想(3)之方法1
    7.方法7.1什么是方法(method、函数):方法是类或对象行为特征的抽象,用来完成某个功能操作。在某些语言中也称为函数或过程。将功能封装为方法的目的是,可以实现代码重用,简化代码Java里的方法不能独立存在,所有的方法必须定义在类里。publicclassPerson{privateintage;......
  • 9-面向对象
    1.类和对象1.1类和对象的理解客观存在的事物皆为对象,所以我们也常常说万物皆对象。在java中,必须先设计类,才能获得对象类类的理解类是对现实生活中一类具有共同属性和行为的事物的抽象类是对象的数据类型,类是具有相同属性和行为的一组对象的集合简单理解:类就是对......
  • 【入门】Go语言面向对象
    目录一、面向对象简介1.1什么是面向对象?1.2类和对象1.3面向对象编程的好处二、匿名字段实现继承及对象创建三、成员操作四、指针类型匿名字段五、多重继承六、基本方法创建七、为结构体添加方法八、使用方法注意事项九、面向对象方法练习十、方法继承十一、方法继承练习十二、......
  • java面向对象编程-三大特性
    面向对象三大特性封装该露的露,该藏的藏我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。封装(数据的隐藏)通常,应禁止直接访问一个对象中数据的实际表示,而应通过数据接口来访问,这称为信......
  • 2.面向对象的思想
    4.对象的创建和使用java类及类的成员-->java类的实例化,即创建类的对象创建对象语法:​ 类名对象名=new类名();使用“对象名.对象成员”的方式访问对象成员(包括属性和方法)5.对象内存解析堆(Heap),此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里......
  • JAVA - 面向对象编程
    面向对象是在之前基本实现的基础上的又一抽象,这里的“高内聚,低耦合”体现的更加明显,有抽丝剥茧、不断总结的感觉了。学习的时候真的会有拨开云雾见月明的感觉,这种感觉真的会上瘾。你慢慢发现所有的东西都在以自己的规律运转,发现验证使用,真的很有《实践论》的味道。我能做些......