什么是面向对象?面向对象小总结

什么是面向对象?

面向对象一共有3个部分:面向对象分析(OOA)、面向对象设计(OOD)、面向对象编程(OOP)。而我们常说的是面向对象编程(OOP),其实是面向对象的一部分。而认识面向对象编程之前要先了解两个重要的概念就是类和对象。

类与对象

世间万物皆对象,世间的万物我们都可以看成是对象,因为他们都有各自的属性。比如:人有身高,体重,年龄,性别等等这些属性,也可以唱歌,跳舞,跑步等等行为。

如果把人看成一个类的话,那么身高,体重,年龄,性别这些就是人这个类的属性,而唱歌,跳舞,跑步就是人这个类的行为。

面向对象编程三大特点

(1).封装性(public、protected、private)

简单形象的解释就是,把功能放在一个盒子里,要用到这个功能的时候,打开盒子,取出就可以使用。

(2).继承性(extends)

子类自动继承一个或多个父类中的属性与方法,并可以重写或者添加新的属性或方法。

这个特性简化了类和对象的创建,提高了代码的可重用性。

(3).多态性

指的是一个类可以创建多个对象,获取不同的结果。

面向对象小总结

1、$this是什么

当前类实例化的对象

2、访问对象中的成员

对象->成员

3、构造方法

通常用来初始化对象的属性,不用把属性写死,不同的对象就有了不同的属性

4、get、set的用法

通常将属性设为protected,利用getXxx和setXxx方法来设置和获取属性的值,避免外部随意的更改,同时还可以对对象进行过滤

5、类的封装

public方法可以在类外访问,相当于提供给外部的接口

private方法只能在类内(即类的大括号内),外部不能直接访问,只能通过其他public方法来调用,就像电脑的开关,按电源键就可以开机,你不用知道它背后一系列的运转

protected,同private,不过可以在其他的类中继承

6、类的继承与重写 (extends)

继承的类可以访问父类的public和protected方法或属性,避免了代码的重写

继承的类重写父类的方法只需取与父类同样的方法名,在里面写自己的代码即可

7、抽象类(abstract)

抽象类是用来继承的,不能直接实例化,抽象方法不用写方法体

作用是硬性的规定子类需要实现的方法,不实现不能实例化

8、接口(interface)

继承使用implements

保证代码的一致性

9、命名空间与自动加载(namespace)

避免重名冲突,避免每次使用类前require的操作

申明类前有namespace 文件位置

namespace app/Admin;

使用类前有use namespace/类名

use app/Admin/User;

10、静态变量和静态方法

可以看作是全局性的方法

不用实例化对象即可使用

使用方法:类名::成员

11、const变量

const主要是用于一些硬性的规定数据和约定俗成的数据码上面,可在类外使用,只能在定义处修改,比如我们的http状态码

定义:const ABC=12;

使用:类名::ABC;

时间: 2024-08-05 04:34:49

什么是面向对象?面向对象小总结的相关文章

06.01_面向对象(面向对象思想概述)

###06.01_面向对象(面向对象思想概述)(了解)* A:面向过程思想概述 * 第一步 * 第二步 * B:面向对象思想概述 * 找对象(第一步,第二步) * C:举例 * 买煎饼果子 * 洗衣服 * D:面向对象思想特点 * a:是一种更符合我们思想习惯的思想 * b:可以将复杂的事情简单化 * c:将我们从执行者变成了指挥者 * 角色发生了转换* E:面向对象开发 * 就是不断的创建对象,使用对象,指挥对象做事情.* F:面向对象设计 * 其实就是在管理和维护对象之间的关系.* G:面向

Java 面向对象编程小练习(曾经)

最近打算将之前学习过的小练习分享出来,算是巩固知识.虽然是小练习,但是越看越觉得有趣,温故而知新. 练习:功能跳水比赛,8个评委评分.运动员成绩去掉最高和最低之后的平均分 代码实例: 1.导包 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; 2.测试类 public class Demo6 { /** * @param args */ public stati

PHP面向对象的小总结

 面向对象特性: *重用性 (每个模块都可以在项目中重复使用) *灵活性 (每个模块都很轻松被替换更改的) *拓展性(在模块上添加新功能是很方便的) 类和对象的关系(类生成对象)在类里面只能有 成员属性 和 成员方法!!!!不能有其他,在一个脚本中不能有两个同名类,实例化类可以有多个对象 class Computer{ public $text = "用关键字new实例化一个类"; public function output(){ echo $this->text; } } $

OC面向对象和小知识点

oc小知识点: 在c语言中汉子占三个字节 oc中汉子和字符都是一个字节 #include 和 #import 区别w import 可以防止重复包含 Foundation 把oc的库文件都包含过来 @autoreleasepool 自动释放池 NSLog 会自动换行 NSLog 会自动输出时间项目信息 NSLog 传递的函数参数是NSString对象 printf传递的是字符串常量指针 NSLog 也可以进行格式化输出 NSlog(@"------>%s", str); //不可

面向对象的小demo

两个类如下 package cao.com.duixiang; import java.util.Arrays; public class OtherTest { //求max public int getMax(int[] arr) { int max = arr[0]; for(int i=1;i<arr.length;i++){ if(max<arr[i]){ max = arr[i]; } } return max; } //求min public int getMin(int[] a

Python 面向对象的小例子

1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3 # added by kangye python27 4 5 class Person: 6 "人的基本类型" 7 # 申明类属性 8 name = "" 9 age = 0 10 # 私有属性 11 __sex = "man" 12 13 # 构造方法 14 def __init__(self, name, age , sex="man&q

java String的比较,BOX装箱拆箱,以及面向对象的小代码

package cn.hncu.day2; public class StringDemo { public static void main(String[] args) { String str1 = "abc";//直接赋值,放在栈中,数据共享 String str2 = "abc"; System.out.println("str1==str2: "+(str1==str2));//true String str3 = new Strin

面向对象方法小练习

定义MySQL类 1.对象有id.host.port三个属性 2.定义工具create_id,在实例化时为每个对象随机生成id,保证id唯一 3.提供两种实例化方式,方式一:用户传入host和port 方式二:从配置文件中读取host和port进行实例化 4.为对象定制方法,save和get_obj_by_id,save能自动将对象序列化到文件中,文件路径为配置文件中DB_PATH,文件名为id号,保存之前验证对象是否已经存在,若存在则抛出异常,;get_obj_by_id方法用来从文件中反序列

面向对象-面向对象与面向过程优缺点

面向过程: 面向过程编程,核心是过程,即解决问题的步骤,设计一条解决问题的流水线.把大问题分拣成小问题解决,之后再串接起来. 优点:复杂问题流程话,简化问题,降低复杂度 缺点:可扩展性插,牵一发而动全身 用途:工具类,完成后对扩展性需求较低的环境 面向对象: 核心为对象,一切存在的事物均为对象 优点:可扩展性强 缺点:复杂度高 场景:用户需求经常变化,互联网应用,游戏,企业内部应用如办公系统 原文地址:https://www.cnblogs.com/yaya625202/p/8861436.ht

面向对象-面向对象和面向过程的区别

两者都是软件开发思想,先有面向过程,后有面向对象.在大型项目中,针对面向过程的不足推出了面向对象开发思想. 区别 1. 编程思路不同: 面向过程以实现功能的函数开发为主,而面向对象要首先抽象出类.属性及其方法,然后通过实例化类.执行方法来完成功能. 2. 封装性:都具有封装性,但是面向过程是封装的是功能,而面向对象封装的是数据和功能. 3. 面向对象具有继承性和多态性,而面向过程没有继承性和多态性,所以面向对象优势是明显.