面向对象-三大特性

面向对象-三大特性

一.封装

1.封装指的是成员变量的封装,把内部的成员变量保护起来,不让外部直接访问


2.set方法

      1)作用:提供一个方法给外部设置成员变量的之

      2)命名规范:方法名必须以set开头

                set后面跟上成员变量的名称,而且成员变量首字母要大写

                返回值一定是void

                一定要接收一个参数,参数类型和成员变量一致

                形参的名称不能跟成员变量一样


3.get方法

       1)作用:返回对象内部的成员变量

       2)命名规范:get方法的名称一般就跟成员变量同名


4.成员变量的命名规范

        1)成员变量都以下划线 _ 开头

        2)  可以跟get方法的名称区分开

        3)  可以跟其他局部变量区分开,一看到下划线开头的变量,肯定是成员变量

5.代码示例

 

实例总结:通过对这个例子的上手操作练习,可以知道如何对成员变量进行封装,还能学到编程中的一些命名规范 

       

继承

一.简述

        继承是面向对象的一个重要特征。当多个类中存在相同属性和行为时将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。这时,多个类可以称为子类,单独的这个类称为父类或者超类。


二.好处

        1.   抽取重复代码

        2.   建立了类与类之间的关系

        3.   子类可以拥有父类中所有的属性和方法

三. 坏处

     1.耦合性太强


四.重写:子类重新实现父类中的某个方法

      注意点: 1.父类必须声明在子类的前面

                      2.子类不用拥有和父类相同的成员变量

                      3.调用某个方法时优先去当前类中找,如果找不到,去父类中找


五.继承的使用场合

         1.当两个类拥有相同属性和方法的时候,就可以将相同的东西抽取到一个父类中

         2. 当A类完全拥有B类中的部分属性和方法时,可以考虑让B类继承A类

六.具体实例:

从这个例子中可以看出,狗这个类和猫这个类具有相同的属性和行为,所以我们把这些东西单独的抽取出来,把他放到animal这个类中,然后让狗和猫去继承它,狗和猫就拥有了这些属性和方法。这么做可以节省代码。

  

     

 

 

 

 

 

多态

1.    基本概念:父类指针指向了子类对象(某一类事物的多种形态)

2.    好处:如果函数\方法参数中使用的是父类类型,可以传入父类、子类对象

3.  局限性:父类类型的变量 不能 直接调用子类特有的方法。必须强转为子类类型变量后,才能直接调用子类特有的方法

4.    代码体现

Person*p = [Student new];

p->age= 100;

[p walk];

       1)子类对象赋值给父类指针

       2) 父类指针访问对应的属性和方法

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值