1. Trang chủ
  2. » Thể loại khác

...C07. Struct.pdf

8 95 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 206,6 KB

Nội dung

...C07. Struct.pdf tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tất cả các lĩnh vực kinh tế,...

N gôn ngữ C # T rần V ăn T èo tvteo@agu.edu.vn 01/06/2006 N g ôn n g ữ C # Struct n n n   n n n L kiểu liệu tự tạo, tư ng tự lớ p L m ột liệu kiểu trị K hông hổ trợ kế thừ a hàm hủy S dụng struct đối vớ i kiểu liệu nhỏ, n giản, có m ethod property kiểu liệu bẩm sinh S dụng m ảng (array) hiệu hơ n m ặt nhớ , ng hiệu tập hợ p (collection), collection cần có qui chiếu Khai báo struct T ạo đối tư ợ ng struct S truct tính kế thừ a 01/06/2006 N g ôn n g ữ C # Khai báo Struct n Cú pháp: pháp: [access-modifiers] struct identifier [:interface-list]{ struct member} using System; public struct Location{ public int xVal; public int yVal; public Location(int x, int y){ this.xVal = x; this.yVal = y; } public override void ToString( ){ return String.Format (“{0 },{1}”, xVal, yVal ); } 01/06/2006 N g ôn n g ữ C # public int X { get{ return xVal; } set{ xVal = value; } } public int Y { get { return yVal; } set { yVal = value; } } } Khai báo Struct n H àm k h i d ự n g k ế th a (constructor & inheritant) • S truct khơng kế thừ a class hay struct khác, khơng làm sở cho m ộ t class • C ó thể thự c thi nhiều interface • N ếu có constructor phải có tham số • C ác thành viên S truct khơng có khở i gán (initializer) interface IShape( ){ void Paint( ); } //End Interface IShape struct Rectangle : IShape{ public void P ain t( ) { … } private int x,y,z; } //End struct Rectangle 01/06/2006 struct KeyValue{ private string key; private string value; public KeyValue( string key, string value ){ this.key = key; this.value = value; } } //End struct Keyvalue N g ôn n g ữ C # T ạo đối tư ợ ng S truct n S tru ct th u ộc k iểu trị: trị: • N gầm định kế thừ a từ object object Nên override hàm T oS tring() hàm tự đư ợ c gọi trao cho hàm W riteL ine(… ) Location loc = new Location (200, 300); Console.WriteLine( “L ocation: {0}”, loc ); • L tham trị static void Main( ){ Location loc = new Location( 200, 300 ); myFunc( loc ); // loc.X = ? ; loc.Y = ? } //End Main public void myFunc(Location loc){ loc.X = 100 ; loc.Y = 200; } //end myFunc 01/06/2006 N g ôn n g ữ C # T ạo đối tư ợ ng S truct n T ạo đối tư ợ ng S truct khơng dùng từ khó a new new:: • S truct kiểu trị nên tạo m ột đối tư ợ ng struct khơng cần từ khóa new (giống kiểu bẩm sinh:int, long )  K hông triệu gọi hàm khở i dự ng (constructor)  P hải khở i gán biến thành viên trư c triệu gọi hàm static void Main( ){ Location loc; static void Main( ){ loc.xVal = 50; //gán thành viên Location loc; loc.yVal = 10; //gán thành viên //không triệu gọi constructor loc.X = 200; //dùng thuộc tính loc.xVal = 50; loc.Y = 300;//dùng thuộc tính //loc.yVal = 100; Console.WriteLine(“{0}”,loc); Console.WriteLine(“{0}”,loc); 01/06/2006 N g ôn n g ữ C # } //End Main } //End Main T ạo đối tư ợ ng S truct n S tru ct tín h k ế th a: a: • • • • • N gầm kế thừ a từ object object K hơng dùng từ khóa abstract sealed sealed B iến thành viên khơng có từ khóa protected protected C ác hàm k g có từ k h ó a abstract virtual virtual T khóa override sử dụng cho h àm m u ố n o v erride hàm đư ợ c kế thừ a từ đối tư ợ n g object object 01/06/2006 N g ôn n g ữ C # Q&A 01/06/2006 N g ôn n g ữ C # 120 Chương 7 Hormone 7.1. Cơ chế tác dụng của hormone Hormone là những chất hữu cơ được tạo thành trong cơ thể có tác dụng điều hoà các hoạt động sống trong cơ thể. Lượng hormone trong cơ thể thường rất thấp. Hormone có cả ở thực vật và động vật. Ở động vật hormone được sản xuất tại các tuyến nội tiết và tác động đến các mô khác nơi nó được tạo ra. Hormone từ tuyến nội tiết được tiết trực tiếp vào máu và được máu vận chuyển đến các mô chịu tác dụng. Hormone có tính đặc hiệu. Hormone có tác dụng điều hoà các quá trình sinh lý, hoá sinh trong cơ thể mà không tham gia trực tiếp vào các phản ứng của cơ thể. Hormone có tác động đến tốc độ sinh tổng hợp protein, enzyme, ảnh hưởng đến tốc độ xúc tác của enzyme; thay đổi tính thấm của màng tế bào, qua đó điều hoà hoạt động sống xảy ra trong tế bào. Một số hormone tác động đến cơ thể thông qua chất trung gian AMP vòng. AMP vòng là chất truyền tin thứ 2, còn hormone là chất truyền tin thứ nhất. Theo cơ chế này tác dụng của hormone lên tế bào đích xảy ra qua nhiều giai đoạn khá phức tạp. - Trong màng nguyên sinh chất của tế bào có chứa chất nhận hormone, chất này sẽ kết hợp đặc hiệu với hormone. - Sự kết hợp đó kích thích làm tăng hoạt độ của adenylatcyclase xúc tác cho phản ứng chuyển hoá ATP thành AMP vòng. - Adenylatcyclase xúc tác cho phản ứng chuyển hoá ATP thành AMP vòng. - AMP vòng làm thay đổi vận tốc của các quá trình xảy ra trong tế bào liên quan đến hoạt động của hormone. - Như vậy tác dụng của hormone theo cơ chế này phải thông qua AMP vòng mà không tác động trực tiếp vào tế bào. - Quá trình hoạt hoá adenylatcyclase bởi phức hormone-chất nhận được thực hiện qua chất trung gian là protein G. Phân tử protein này có khả năng kết hợp với GDP hay GTP. Dạng phức protein G-GTP có tác dụng hoạt hoá adenylatcyclase, còn protein G-GDP không có tác dụng này. Như vậy muốn chuyển sang dạng hoạt động phải có sự tham gia của GTP, nếu là protein G-GDP cần có sự thay thế GDP bằng GTP nhờ phức 121 hormone-chất nhận xúc tác. Dòng thông tin đã được truyền từ chất nhận hormone đến protein G rồi đến adenylatcyclase. - Protein G không chỉ có vai trò trung gian mang thông tin từ chất nhận hormone đến adenylatcyclase mà còn có hoạt tính của GTPase, đó là khả năng thuỷ phân GTP. Nhờ khả năng đó nên nó xúc tác cho quá trình chuyển phức proteinG-GTP hoạt động thành dạng proteinG-GDP không hoạt động do thuỷ phân GTP trong phức proteinGTP thành GDP tạo nên phức proteinG-GDP. Bằng cơ chế đó protein G có vai trò quan trọng trong quá trình hoạt hoá hay phản hoạt hoá adenylatcyclase. Khi lượng hormone giảm adenylatcyclase trở thành dạng không hoạt động. - Nhiều hormone có cơ chế tác động thông qua vai trò trung gian của AMP vòng. Như vậy AMP vòng tham gia vào nhiều quá trình khác nhau trong cơ chế tác động của hormone. Đó là do AMP vòng có tác dụng hoạt hoá proteinkinase là enzyme xúc tác quá trình photphoryl hoá nhiều loại protein khác nhau. Thường các protein enzyme ở dạng phosphoryl hoá là dạng có hoạt tính sinh học. - Các hormone tác dụng theo cơ chế qua AMP vòng, tín hiệu được khuyếch đại lên nhiều lần, do vậy nồng độ các hormone trong máu rất thấp, chỉ khoảng 10-10M, nhưng chỉ cần hoạt hoá được một phân tử adenylatcyclase đã có thể tạo ra được nhiều phân tử AMP vòng nên nồng độ AMP vòng trong tế bào đích cao hơn nhiều lượng hormone trong máu. Tác dụng hoạt hoá proteinkinase nhờ AMP vòng lại làm cho tín hiệu được khuyếch tán tiếp tục vì nhiều phân tử protein được hoạt hoá nhờ proteinkinase. Điều đó giải thích được tại sao nồng độ hormone trong máu rất thấp mà tác dụng kích thích của nó lại rất mạnh. - Một cơ chế tác động thứ hai của hormone là không qua AMP vòng.Insulin là hormone tác động đến tế bào đích không qua bước trung gian là làm tăng lượng AMP vòng. Insulin liên kết chặt chẻ với CLASS, STRUCT, INTERFACE ThS. Nguyễn Hà Giang 1Nguyen Ha Giang -2009 Content 1. Class definition 2. Constructor & destructor 3. Property 4. Indexer 5. Polymorphism 6. Downcast –Upcast 7. Abstract class –Sealed class 8. Struct 9. Interface 2Nguyen Ha Giang -2009 Class declaration Nguyen Ha Giang -2009 3 [access modifier] class <class_name> [:base class, interfaces…] { // class body } Access modifier public protected internal protected internal private (default) Base class: only one class or not Interface: implement some interfaces Class declaration Nguyen Ha Giang -2009 4 public class Student { // data member … // function member … } Access modifier public No base class Default derive from object (System.Object) Class member Nguyen Ha Giang -2009 5 Class Constructor Properties Indexer Delegate, event Method Field, const, readonly Nested type Constructor • Called when create object • Same class name • Class has default constructor which no parameter • Class has multiple constructor (overloading constructor) Nguyen Ha Giang -2009 6 Constructor • Default constructor •No parameter •Create object when has no any information • Copy constructor •Input parameter is another object •Create new object like input object • Other constructors •One or more parameter •Create new object with some information Nguyen Ha Giang -2009 7 Constructor • Ex Nguyen Ha Giang -2009 8 public class Student { // data member string name; int year; float mark; // function member … } public Student() { name = “Ha Giang"; year = 1978; mark = 5; } public Student(Student st) { name = st.name; year = st.year; mark = st.mark; } public Student(string sname) { name = sname; } Constructor • The private constructor prevents the class from being created Nguyen Ha Giang -2009 9 class Student { // private Student() { } } class Program { static void Main(string[] args) { Student s = new Student(); } } Constructor • Constructor chaining •Call one constructor from another constructor •Usage •base(parameter): call constructor of base class •this(parameter): call a constructor in the current class Nguyen Ha Giang -2009 10 <constructor of class A> : base(list of parameter) <constructor of class A> : this(list of parameter) [...]... { set { } } Write-only property Nguyen Ha Giang - 2009 [modifers] { get { } } Read-only property 24 Property class Employee { // fields private string name; private float salary; // properties public string NAME { get { return name; } set { name = value; } } public float SALARY { get { return salary; } } } Nguyen Ha Giang - 2009 Read... Ha Giang - 2009 22 Property • Provide a flexible mechanism to read, write or compute the values of private fields Getter/Setter method Property Private member Private member private string name private string name - GetName() - SetName(…) Nguyen Ha Giang - 2009 Property: NAME 23 Property • Properties as “smart” fields [modifers] { [ set { } ] [ get { TÀI LIỆU HỖ TRỢ LẬP TRÌNH C / C++ struct struct 2014 2 Tài liệu hỗ trợ học lập trình C/C++ Struct trong C/C++ 1. Giới thiệu. Struct là cấu trúc mà người lập trình tự xây dựng ra các kiểu dữ liệu khác ngoài các kiểu dữ liệu nguyên thủy, có sẵn trong ngôn ngữ lập trình như int, float, double, char,…. Với những dữ liệu về một thực thể thường nó không chỉ chứa một trường dữ liệu kiểu nguyên thủy mà có thể có nhiều trường dữ liệu. Ví dụ thông tin của một Sinh viên, thông tin của một hình cơ bản, thông tin của một phân số,… Gặp tình huống như vậy người ta thường có xu thế muốn gộp chúng thành một để khai báo và xử lý cho dễ. Đó cũng là tư tưởng của việc dùng struct trong C và C++. Giả sử như thông tin về 1 điểm trong hệ trục tọa độ xOy, 1 điểm có 2 thành phần tọa độ là x, và y. Khi làm việc với một điểm thì ta có thể dùng 2 biến x và y để sử dụng. Nhưng khi số điểm lên tới hàng trăm hàng nghìn thì thao tác xử lý có vẻ đã thấy nhiều vấn đề. Struct trong C và C++ cho phép ta coi cả 2 dữ liệu x và y thành một kiểu dữ liệu mới. Ta sẽ xem xét bây giờ. 2. Khai báo. Để khai báo một struct trong C ta làm như sau. struct point { float x; float y; }; typedef struct point Point; // Hoac khai bao nhu sau typedef struct { float x; float y; } Point; // Hai cach khai bao tren la tuong duong nhau struct 2014 3 Tài liệu hỗ trợ học lập trình C/C++ Để khai báo struct trong C++ ta có thể làm như sau. struct Point { float x; float y; }; Sau các cách khai báo trên ta có thể sử dụng Point như là một kiểu dữ liệu mới. Nó có chứa hai trường x, và y. Thể hiện tọa độ của một điểm trong hệ trục xOy. 3. Sử dụng. Sau khi định nghĩa struct ta có thể sử dụng chúng như sau. Sử dụng như là một biến. // Voi C Point A; A.x = 0.0; A.y = 1.0; printf(“(%f , %f)\n”, B.x, B.y) ; // Voi C // Voi C++ Point B; cout << “Nhap x, y:”; cin >> B.x >> B.y; cout << B.x << “ “ << B.y << endl; // Voi C++ Sử dụng như là một con trỏ. // Voi C Point *pA; // Xin cap phat vung nho pA = (Point*) malloc(sizeof(Point)); printf("Nhap toa do diem A: "); scanf("%f %f", &(pA->x), &(pA->y)); printf("%f %f\n", pA->x, pA->y); free(pA); // Giai phong vung nho cap phap // Voi C++ Point *pB; struct 2014 4 Tài liệu hỗ trợ học lập trình C/C++ pB = new Point; cout << “Nhap toa do diem B: “; cin >> pB->x >> pB->y; cout << pB->x << “ ” << pB->y << endl; delete pB; Sử dụng như là một mảng tĩnh. // Voi C Point arr[100]; int n, i; printf("Nhap so diem:"); scanf("%d", &n); for (i = 0; i < n; i++) { printf("Nhap toa do diem %d : ", i + 1); scanf("%f %f", &(arr[i].x), &(arr[i].y)); } for (i = 0; i < n; i++) { printf("(%f, %f), ", arr[i].x, arr[i].y); } // Voi C++ Point a[100]; int n; cout << "Nhap so diem:"; cin >> n; for (int i = 0; i < n; i++) { cout << "Nhap toa do diem " << i + 1 << " : "; cin >> a[i].x >> a[i].y; } cout << "Cac diem vua nhap la: "; for (int i = 0; i < n; i++) { cout

Ngày đăng: 05/11/2017, 03:39

Xem thêm