黑马程序员技术交流社区

标题: 定义结构体与类组合的区别和如何用它们? [打印本页]

作者: 白月光    时间: 2014-7-2 18:47
标题: 定义结构体与类组合的区别和如何用它们?
/*
学生
   属性
        * 姓名
        * 年龄
        * 书(* 书名 * 出版社名称 * 作者)
*/

类组合代码:
  1. ininterface Book : NSObjet
  2. {
  3.         NSString *_bookName;
  4.         NSString *_publisher;
  5.         NSString *_author;

  6. }
  7. end


  8. interface Student : NSObjet
  9. {
  10.         NSString *_name;
  11.         int _age;
  12.         Book *_book;
  13. }
  14. end
复制代码
定义结构体:
  1. typedef struct
  2. {
  3.         NSString *_bookName;
  4.         NSString *_publisher;
  5.         NSString *_author;

  6. } Book;

  7. interface Student : NSObjet
  8. {
  9.         NSString *_name;
  10.         int _age;
  11.         Book _book;
  12. }
  13. end
复制代码

在这里,书的属性可在类中定义,也可以在结构体中定义。它们的区别是什么?什么时候用类?什么时候用结构体?哪种更好?




作者: fantacyleo    时间: 2014-7-2 19:29
简单来说,结构体是面向过程的思路,类是面向对象的思路。类可以把书的属性和书的行为(方法)封装在一起,对书的属性还可以进行访问控制。而结构体做不到这一点
作者: 白月光    时间: 2014-7-2 20:33
fantacyleo 发表于 2014-7-2 19:29
简单来说,结构体是面向过程的思路,类是面向对象的思路。类可以把书的属性和书的行为(方法)封装在一起, ...

哦,谢谢!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2