Flutter中的get和set方法实战

作者:搬砖的石头2024.01.29 19:18浏览量:10

简介:本文将通过一个简单的Flutter应用实例,介绍如何在Flutter中使用get和set方法。我们将创建一个简单的计数器应用,其中包含增加和减少计数的功能。

在Flutter中,get和set方法用于访问和修改对象的属性。这些方法允许我们控制属性的可见性和行为。下面是一个简单的示例,演示如何在Flutter中创建和使用get和set方法。
首先,创建一个新的Flutter项目,并打开lib目录下的main.dart文件。我们将在这个文件中编写我们的应用代码。

  1. import 'package:flutter/material.dart';
  2. void main() => runApp(MyApp());
  3. class MyApp extends StatelessWidget {
  4. @override
  5. Widget build(BuildContext context) {
  6. return MaterialApp(
  7. title: 'Flutter Get and Set Methods',
  8. theme: ThemeData(
  9. primarySwatch: Colors.blue,
  10. ),
  11. home: MyHomePage(),
  12. );
  13. }
  14. }
  15. class MyHomePage extends StatefulWidget {
  16. @override
  17. _MyHomePageState createState() => _MyHomePageState();
  18. }
  19. class _MyHomePageState extends State<MyHomePage> {
  20. int _counter = 0;
  21. // Getter method for _counter
  22. int get counter => _counter;
  23. // Setter method for _counter
  24. void set counter(int value) {
  25. if (value >= 0) {
  26. _counter = value;
  27. } else {
  28. print('Counter value must be non-negative');
  29. }
  30. }
  31. @override
  32. Widget build(BuildContext context) {
  33. return Scaffold(
  34. appBar: AppBar(
  35. title: Text('Flutter Get and Set Methods'),
  36. ),
  37. body: Center(
  38. child: Column(
  39. mainAxisAlignment: MainAxisAlignment.center,
  40. children: <Widget>[
  41. Text(
  42. 'Counter: $_counter',
  43. ),
  44. RaisedButton(
  45. child: Text('Increment'),
  46. onPressed: () {
  47. // Increment counter using setter method
  48. setState(() {
  49. this.counter++; // calling the setter method with the incremented value
  50. });
  51. },
  52. ),
  53. RaisedButton(
  54. child: Text('Decrement'),
  55. onPressed: () {
  56. // Decrement counter using setter method
  57. setState(() {
  58. this.counter--; // calling the setter method with the decremented value
  59. });
  60. },
  61. ),
  62. ],
  63. ),
  64. ),
  65. );
  66. }
  67. }