热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

面向对象编程核心概念:类与对象、封装技术、继承机制、多线程处理及线程同步、异常管理

面向对象编程的核心概念包括类与对象、封装技术、继承机制、多线程处理及线程同步、异常管理。类是现实世界对象的抽象表示,包含属性(特征)和方法(行为)。对象则是类的具体实例,用于实现抽象数据类型。通过封装技术,可以隐藏对象的内部细节,保护数据的安全性。继承机制允许子类继承父类的属性和方法,提高代码的复用性和可维护性。多线程处理和线程同步技术则用于实现并发操作,提升程序的执行效率。异常管理机制则确保程序在遇到错误时能够优雅地处理,提高系统的健壮性。

属性(特征)与行为(方法)

类:现实生活中对象的抽象,抽象的数据类型

对象:类的实例化

封装:将对象的属性和行为组合成为一个独立的单位或不见,并尽可能i隐藏对象内部细节,只保留必要的对外接口,使之与外部发生联系

软件包:把多个类收集在一起成为一组

封装的优点:隐藏隐私、隐藏实现细节、方便加入控制(约束条件)、可重用性、

实现封装:

    步骤:1、修改属性的可见性

               2、创建访问属性的方法

               3、在访问属性的方法中加入控制语句

    不同范围:

    public::可以被本类和其他任何类的方法访问

    protected:可以被子类或相同软件包中的类访问

    default:允许本软件包访问

    private:只允许本类访问

继承:特殊类具有一般类的所有方法和属性

覆盖:重新定义父类中的方法

 

多线程

线程:程序片段;并行的子任务;处理器调度执行的单位

  生命周期:新建;就绪;运行;挂起;死亡

  调度机制:强制剥夺、主动放弃

(接口的实现:只能继承一个父类,其余的属性可以通过接口来实现)

线程的同步(加锁)

必要性:并发访问;数据混乱

方法同步:同步约束的方法

对象同步:任何时候该对象只能由一个方法来访问

 缺点:交叉访问时造成死锁

 

 

异常处理

常见异常:程序错误、空指针、数组越界、除数为零、、用户提供的文件不存在、文件内容损坏、网络不可用

 

 

  

 

 

转:https://www.cnblogs.com/wangeraaa/p/10051618.html



推荐阅读
  • 深入剖析JVM垃圾回收机制
    本文详细探讨了Java虚拟机(JVM)中的垃圾回收机制,包括其意义、对象判定方法、引用类型、常见垃圾收集算法以及各种垃圾收集器的特点和工作原理。通过理解这些内容,开发人员可以更好地优化内存管理和程序性能。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • Spring Boot 中静态资源映射详解
    本文深入探讨了 Spring Boot 如何简化 Web 应用中的静态资源管理,包括默认的静态资源映射规则、WebJars 的使用以及静态首页的处理方法。通过本文,您将了解如何高效地管理和引用静态资源。 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 解决TensorFlow CPU版本安装中的依赖问题
    本文记录了在安装CPU版本的TensorFlow过程中遇到的依赖问题及解决方案,特别是numpy版本不匹配和动态链接库(DLL)错误。通过详细的步骤说明和专业建议,帮助读者顺利安装并使用TensorFlow。 ... [详细]
  • 本文介绍了如何在 Node.js 中使用 `setDefaultEncoding` 方法为可写流设置默认编码,并提供了详细的语法说明和示例代码。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • Symfony是一个功能强大的PHP框架,以其依赖注入(DI)特性著称。许多流行的PHP框架如Drupal和Laravel的核心组件都基于Symfony构建。本文将详细介绍Symfony的安装方法及其基本使用。 ... [详细]
  • Java多线程实现:从1到100分段求和并汇总结果
    本文介绍如何使用Java编写一个程序,通过10个线程分别计算不同区间的和,并最终汇总所有线程的结果。每个线程负责计算一段连续的整数之和,最后将所有线程的结果相加。 ... [详细]
  • 对于许多初学者而言,遇到总线错误(bus error)或段错误(segmentation fault/core dump)是极其令人困扰的。本文详细探讨了这两种错误的成因、表现形式及解决方法,并提供了实用的调试技巧。 ... [详细]
  • 深入理解Java多线程并发处理:基础与实践
    本文探讨了Java中的多线程并发处理机制,从基本概念到实际应用,帮助读者全面理解并掌握多线程编程技巧。通过实例解析和理论阐述,确保初学者也能轻松入门。 ... [详细]
  • MySQL锁机制详解
    本文深入探讨了MySQL中的锁机制,包括表级锁、行级锁以及元数据锁,通过实例详细解释了各种锁的工作原理及其应用场景。同时,文章还介绍了如何通过锁来优化数据库性能,避免常见的并发问题。 ... [详细]
author-avatar
开开2502936987
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有