个人对面向对象的理解总结
总结 理解 个人 面向对象
2023-09-14 08:57:59 时间
之前伟哥问过我属性和变量的区别,今天在群里也遇到了个问这类的问题的,所以写下这博文纪录下我个人对继承、封装等这些的理解。
1.面向对象的3大特征:继承、封装、多态
1、继承
继承都熟悉 ,子类继承父类. 和生活中的继承类似。父类的东西有些可以继承(public、protect)有些是不可以继承(private)的.
这就有了public protect private类型的属性方法继承时的访问权限问题,同时也是封装的体现,包裹起来。又犹豫c# 、OC、java这些不支持多继承,所以就有了接口(oc协议)来实现多继承。
2.封装
封装就是把东西包起来,让外面看不到。想要知道内部的东西那就要通过一定的方法才能,不能随随便便的让别人看到。那怎么让看到内部的东西的?这就有了属性。属性将变量封装起来,通过get、set方法来访问变量。
3.多态
多态有运行时多态和编译时多态。
编译时多态主要通过重载来体现。重载有函数重载和运算符的重载。
运行时多态是通过重写、覆盖、继承、接口、抽象、虚方法体现等
这些对面向对象语言基本都应用,可能在一些语言中的叫法不一样,思想是一样的。比如oc中的协议, 由于OC中没有抽象类(含有一个抽象方法的类叫做抽象类),所以OC中的协议中的方法可以是可实现和必需实现。语法是基础,思想是灵魂。
面向对象-其他 类属性只能通过类对象修改,不能通过实例对象修改,如果通过实例对象修改类属性,表示是创建了一个实例属性。
关于面向对象 一、概述 js对面向对象的实现就是给函数一个原型对象(Prototype),两者结合可以用来表达类。类的实质就是由两个对象组合而成(函数是特殊的对象),它们通过prototype和constructor属性相互引用。
社会主义 从.Net到iOS,在撸的道路上越走越远,工作之余经营着博客园http://www.cnblogs.com/5ishare,欢迎小伙伴(妹子更好)一起交流,谈谈人生理想。作为经常从网上索取免费资料的一员,要有回报回报的思想,也让更多的人少走弯路.
相关文章
- 各大公司Java面试题超详细总结
- 【学习总结】网络-ARP协议
- 【COCOS2DX通信(HTTP&SOCKET)相关编译到ANDROID细节总结】编译加入CURL关联LIB与头文件 && 解决PTHREAD的CANCEL函数NDK不支持,找不到SOCKADDR_IN、HTONS等问题;
- 项目总结2——mybatis配置的理解
- Atiitt 提升复用性之道 项目成本之道 Atitit 代码复用的理解attilax总结 1. 复用分类1 1.1. 类库侧重代码重用,框架侧重设计重用2 2. 文档与索引体系2 3
- Atitit 深入理解抽象类与接口 attilax总结
- Atitit 代码复用的理解attilax总结
- Atitit 代码复用的理解attilax总结
- Atitit 深入理解软件的本质 attilax总结 软件三原则"三次原则"是DRY原则和YAGNI原则的折
- Atitit 作用域的理解attilax总结
- Atitit 泛型原理与理解attilax总结
- atitit.商业版 源码保护 与 java本地原生代码转换 的方案总结
- JavaScript数组的常用方法总结:遍历,复制,反转,排序,添加,删除(前端常见面试题必考必问
- 〖Python WEB 自动化测试实战篇⑯〗- WEB自动化的总结与未来技术上的展望
- ffmpeg 源码分析-转码总结
- Cipher 使用 RSA非对称加密算法 - 公钥加密后,只有私钥才可以解密,私钥加密后,只有公钥才可以解密 - java具体使用 非对称加密算法 - 总结心得
- java 封装 总结
- HTML5 学习总结(一)——HTML5概要与新增标签
- android WebView总结
- PostgreSQL的学习心得和知识总结(九十)|深入理解PostgreSQL数据库开源MPP扩展Citus函数citus_move_shard_placement的实现原理
- PostgreSQL的学习心得和知识总结(八十四)|深入理解PostgreSQL数据库开源MPP扩展Citus函数citus_add_node的使用场景和实现原理
- PostgreSQL的学习心得和知识总结(八十二)|深入理解PostgreSQL数据库SQL语句的词法解析和语法解析流程
- PostgreSQL的学习心得和知识总结(七十九)|深入理解PostgreSQL数据库 词法&语法分析工具Lex和Yacc 的使用说明
- PHPCMS V9 学习总结