Objective-C基础——面对对象语法01

news/2024/12/29 9:49:00/


一、面向对象和面向过程思想

OC是面向对象的,C是面向过程的。面向对象和面向过程只是解决问题的两种不同思想

1.面向对象和面向过程的区别

        以用电脑听歌为例
            a)  面向过程:
                  --- > 打开电脑
                  --- > 播放电脑中的歌曲
                  --- > 关闭电脑
 
            b)  面向对象:
                  --- > 开机
                  --- > 播放歌曲
                  --- > 关机
区别分析:
面向过程关注的是解决问题需要哪些步骤;面向对象关注的是解决问题需要哪些对象
没有开发经验很难感受到它们的区别,两种思想都能达到解决问题的目的,但是解决思路不一样

 2.  现实中面向对象的例子
               --- > 想打电话\发短信   --> 找手机,不用分析电话要怎样才能拨通。
               --- > 去饭店吃饭  --- > 找服务员,不用分析怎么到厨房炒菜。
               --- > 汽车坏了  --- > 找汽车维修工,不用分析修车的步骤。
               --- > 用业内一句有内涵的话说就是 “万物皆对象”。

3. 常用术语
面向过程 Procedure Oriented
面向对象 Object Oriented,简称OO
面向对象编程 Object Oriented Programming,简称OOP

二、类和对象的关系

面向对象中有2个非常重要的概念:类和对象
如何创建对象
现实生活的例子:如何创造汽车对象?
1> 需要先有汽车的建造图纸,图纸上描述清楚汽车应该具备的属性和功能(行为)
         属性:轮子数、时速
         功能(行为):跑
2> 然后再根据图纸上的描述生成汽车
3> 每一辆汽车都是对象,都有自己具体的属性值,都是图纸的实例
4> 图纸是抽象的,房子是具体的。图纸是对房子对象的高度概括
 
OC中的面相对象
1> OC中的类相当于图纸,用来描述一类事物。也就是说,要想创建对象,必须先有类
2> OC利用类来创建对象,对象是类的具体存在
因此,面向对象解决问题应该是先考虑需要设计哪些类,再利用类创建多少个对象
 
需要设计哪些类,如何设计类
1> 类的设计,只关心3样东西:
         事物名称(类名):人(Person)
         属性:身高(height)、年龄(age)
         行为(功能):跑(run)、打架(fight)
 > 一般名词都是类
         坦克发射3颗炮弹轰掉了2架飞机
         小明在公车上牵着一条叼着热狗的狗
 3> 拥有相同(或者类似)属性和行为的对象都可以抽像出一个类
4> 哪个对象最清楚这个行为,就把这个行为写到哪个对象中去。打开电脑(开机)这个行为应该是属于电脑的

类的设计:
1> 类名
* 类名的第一个字母必须是大写
* 不能有下划线
* 多个英文单词,用驼峰标识
2> 属性
3> 行为(功能)

例如,
1.植物大战僵尸的僵尸
* 类名:Zoombie
* 属性:life、speed、gongjili
* 行为:walk、bite、die2.雷电的飞机
* 类名:Plane
* 属性:life、gongjili、speed、bombCount
* 行为:fly、bomb、shoot、die3.电脑
* 类名:Computer
* 属性:band、expireDate
* 行为:open、close


http://www.ppmy.cn/news/881686.html

相关文章

《关于我学CentOS-7跳进坑里忘记跳出来的那些事》——第一集:装了系统但还没完全装上

注:以下大部分内容属于个人理解,如果有其他见解请以百度说法居多的那一方为主; 一天一个游戏推荐:底特律:我欲成人;其实叫做变人,但是更喜欢我欲成人这个名字😃 英文名:…

我热爱计算机作文450字,我爱玩电脑游戏

我爱玩电脑游戏 相关内容: 随着网络越来越发达,电脑游戏也随着横行了。下面是语文迷整理的玩电脑游戏的英语作文,希望对你有帮助。篇一:Nowadays, there are more and more students are addicted to computer games, even middle school stu…

c++之植物大战僵尸(代码篇)

今天我带给大家植物大战僵尸的源代码。 原代码如下&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <graphics.h>//图形库头文件 #include <Windows.h> #define WIDTH 960 #define HEIGTH 640 #define STR_SIZE 20//数字雨素组…

cai_VBA植物大战僵尸2Total Control自动刷金币

‘需要有图片指纹样版&#xff0c; Option Explicit 》》》》》》》》》》》》》》》》》》》》》》》》》 public sealed class SHA512Managed : System.Security.Cryptography.SHA512 rounddown,roundup,round(2,4)取整 鼠标光标 Private Type POINTAPI: x As Long: y As L…

[USACO22DEC] Bribing Friends G

洛谷[USACO22DEC] Bribing Friends G 题目大意 小 B B B有 n n n个朋友&#xff0c;每个朋友有一个受欢迎度 p i p_i pi​。小 B B B想邀请部分朋友和他去看电影&#xff0c;且想要最大化这些朋友的受欢迎程度之和。对于朋友 i i i&#xff0c;只有当小 B B B给他 c i c_i ci…

Antd的Select组件二次封装

提示&#xff1a;Select组件二次封装的目的,是为了在系统里面更方便、简洁地使用Select 这是官方写的使用方法是: import React from react; import { Select } from antd;const handleChange (value: string) > {console.log(selected ${value}); };const App: React.FC …

热血江湖服务器维护,热血江湖封闭测试

本词条缺少概述图&#xff0c;补充相关内容使词条更完整&#xff0c;还能快速升级&#xff0c;赶紧来编辑吧&#xff01; 公开测试将进行升天系列与六次转职的相关功能的测试&#xff0c;玩家建立角色后就会获得115等级和装备&#xff0c;在本次测试结束后&#xff0c;相关的人…

分布式数据库HBase,它到底是怎么组成的?

原文链接&#xff1a;http://www.ibearzmblog.com/#/technology/info?id3f432a2451f5f9cb9a14d6e756036b67 前言 大数据的核心问题无非就是存储和计算这两个。Hadoop中的HDFS解决了数据存储的问题&#xff0c;而HBase就是在HDFS上构建&#xff0c;因此Hbase既能解决大数据存…